diff --git a/build2/contracts/Address.json b/build2/contracts/Address.json deleted file mode 100644 index 736269d..0000000 --- a/build2/contracts/Address.json +++ /dev/null @@ -1,8066 +0,0 @@ -{ - "contractName": "Address", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x51b758a8815ecc9596c66c37d56b1d33883a444631a3f916b9fe65cb863ef7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://997ca03557985b3c6f9143a18b6c3a710b3bc1c7f189ee956d305a966ecfb922\",\"dweb:/ipfs/QmQaD3Wb62F88SHqmpLttvF6wKuPDQep2LLUcKPekeRzvz\"]}},\"version\":1}", - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f90675ae0843bd44ab3989d0ab96951e5e7a028a17b306e96809cfcb1226ead064736f6c634300080b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f90675ae0843bd44ab3989d0ab96951e5e7a028a17b306e96809cfcb1226ead064736f6c634300080b0033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "179:7729:6:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;179:7729:6;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "179:7729:6:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Address.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize, which returns 0 for contracts in\n // construction, since the code is only stored at the end of the\n // constructor execution.\n\n uint256 size;\n assembly {\n size := extcodesize(account)\n }\n return size > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCall(target, data, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n require(isContract(target), \"Address: call to non-contract\");\n\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n require(isContract(target), \"Address: static call to non-contract\");\n\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(isContract(target), \"Address: delegate call to non-contract\");\n\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Address.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 1521 - ] - }, - "id": 1522, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1226, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "86:23:6" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Address", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1227, - "nodeType": "StructuredDocumentation", - "src": "111:67:6", - "text": " @dev Collection of functions related to the address type" - }, - "fullyImplemented": true, - "id": 1521, - "linearizedBaseContracts": [ - 1521 - ], - "name": "Address", - "nameLocation": "187:7:6", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1243, - "nodeType": "Block", - "src": "837:311:6", - "statements": [ - { - "assignments": [ - 1236 - ], - "declarations": [ - { - "constant": false, - "id": 1236, - "mutability": "mutable", - "name": "size", - "nameLocation": "1042:4:6", - "nodeType": "VariableDeclaration", - "scope": 1243, - "src": "1034:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1034:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1237, - "nodeType": "VariableDeclarationStatement", - "src": "1034:12:6" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1065:52:6", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1079:28:6", - "value": { - "arguments": [ - { - "name": "account", - "nodeType": "YulIdentifier", - "src": "1099:7:6" - } - ], - "functionName": { - "name": "extcodesize", - "nodeType": "YulIdentifier", - "src": "1087:11:6" - }, - "nodeType": "YulFunctionCall", - "src": "1087:20:6" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1079:4:6" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 1230, - "isOffset": false, - "isSlot": false, - "src": "1099:7:6", - "valueSize": 1 - }, - { - "declaration": 1236, - "isOffset": false, - "isSlot": false, - "src": "1079:4:6", - "valueSize": 1 - } - ], - "id": 1238, - "nodeType": "InlineAssembly", - "src": "1056:61:6" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1239, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1236, - "src": "1133:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1140:1:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1133:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1234, - "id": 1242, - "nodeType": "Return", - "src": "1126:15:6" - } - ] - }, - "documentation": { - "id": 1228, - "nodeType": "StructuredDocumentation", - "src": "201:565:6", - "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n ====" - }, - "id": 1244, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nameLocation": "780:10:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1231, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1230, - "mutability": "mutable", - "name": "account", - "nameLocation": "799:7:6", - "nodeType": "VariableDeclaration", - "scope": 1244, - "src": "791:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "791:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "790:17:6" - }, - "returnParameters": { - "id": 1234, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1233, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1244, - "src": "831:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1232, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "831:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "830:6:6" - }, - "scope": 1521, - "src": "771:377:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1277, - "nodeType": "Block", - "src": "2136:241:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1255, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "2162:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1521", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$1521", - "typeString": "library Address" - } - ], - "id": 1254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2154:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2154:7:6", - "typeDescriptions": {} - } - }, - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2154:13:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "2154:21:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1258, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1249, - "src": "2179:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2154:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 1260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2187:31:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - }, - "value": "Address: insufficient balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - } - ], - "id": 1252, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2146:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2146:73:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1262, - "nodeType": "ExpressionStatement", - "src": "2146:73:6" - }, - { - "assignments": [ - 1264, - null - ], - "declarations": [ - { - "constant": false, - "id": 1264, - "mutability": "mutable", - "name": "success", - "nameLocation": "2236:7:6", - "nodeType": "VariableDeclaration", - "scope": 1277, - "src": "2231:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1263, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2231:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 1271, - "initialValue": { - "arguments": [ - { - "hexValue": "", - "id": 1269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2279:2:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "id": 1265, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "2249:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "2249:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 1267, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1249, - "src": "2271:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2249:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2249:33:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2230:52:6" - }, - { - "expression": { - "arguments": [ - { - "id": 1273, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1264, - "src": "2300:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 1274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2309:60:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - }, - "value": "Address: unable to send value, recipient may have reverted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - } - ], - "id": 1272, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2292:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2292:78:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1276, - "nodeType": "ExpressionStatement", - "src": "2292:78:6" - } - ] - }, - "documentation": { - "id": 1245, - "nodeType": "StructuredDocumentation", - "src": "1154:906:6", - "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." - }, - "id": 1278, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendValue", - "nameLocation": "2074:9:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1247, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "2100:9:6", - "nodeType": "VariableDeclaration", - "scope": 1278, - "src": "2084:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2084:15:6", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1249, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2119:6:6", - "nodeType": "VariableDeclaration", - "scope": 1278, - "src": "2111:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2111:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2083:43:6" - }, - "returnParameters": { - "id": 1251, - "nodeType": "ParameterList", - "parameters": [], - "src": "2136:0:6" - }, - "scope": 1521, - "src": "2065:312:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1294, - "nodeType": "Block", - "src": "3208:84:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1289, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1281, - "src": "3238:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1290, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1283, - "src": "3246:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 1291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3252:32:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - }, - "value": "Address: low-level call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - } - ], - "id": 1288, - "name": "functionCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1295, - 1315 - ], - "referencedDeclaration": 1315, - "src": "3225:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3225:60:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1287, - "id": 1293, - "nodeType": "Return", - "src": "3218:67:6" - } - ] - }, - "documentation": { - "id": 1279, - "nodeType": "StructuredDocumentation", - "src": "2383:731:6", - "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" - }, - "id": 1295, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nameLocation": "3128:12:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1284, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1281, - "mutability": "mutable", - "name": "target", - "nameLocation": "3149:6:6", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "3141:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3141:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1283, - "mutability": "mutable", - "name": "data", - "nameLocation": "3170:4:6", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "3157:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1282, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3157:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3140:35:6" - }, - "returnParameters": { - "id": 1287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1286, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "3194:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1285, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3194:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3193:14:6" - }, - "scope": 1521, - "src": "3119:173:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1314, - "nodeType": "Block", - "src": "3661:76:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1308, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1298, - "src": "3700:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1309, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1300, - "src": "3708:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "30", - "id": 1310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3714:1:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 1311, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "3717:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1307, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1335, - 1385 - ], - "referencedDeclaration": 1385, - "src": "3678:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3678:52:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1306, - "id": 1313, - "nodeType": "Return", - "src": "3671:59:6" - } - ] - }, - "documentation": { - "id": 1296, - "nodeType": "StructuredDocumentation", - "src": "3298:211:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" - }, - "id": 1315, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nameLocation": "3523:12:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1303, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1298, - "mutability": "mutable", - "name": "target", - "nameLocation": "3553:6:6", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "3545:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1297, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3545:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1300, - "mutability": "mutable", - "name": "data", - "nameLocation": "3582:4:6", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "3569:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1299, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3569:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1302, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "3610:12:6", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "3596:26:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1301, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3596:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3535:93:6" - }, - "returnParameters": { - "id": 1306, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1305, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "3647:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1304, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3647:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3646:14:6" - }, - "scope": 1521, - "src": "3514:223:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1334, - "nodeType": "Block", - "src": "4242:111:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1328, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "4281:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1329, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1320, - "src": "4289:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1330, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "4295:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 1331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4302:43:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - }, - "value": "Address: low-level call with value failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - } - ], - "id": 1327, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1335, - 1385 - ], - "referencedDeclaration": 1385, - "src": "4259:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4259:87:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1326, - "id": 1333, - "nodeType": "Return", - "src": "4252:94:6" - } - ] - }, - "documentation": { - "id": 1316, - "nodeType": "StructuredDocumentation", - "src": "3743:351:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" - }, - "id": 1335, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nameLocation": "4108:21:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1323, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1318, - "mutability": "mutable", - "name": "target", - "nameLocation": "4147:6:6", - "nodeType": "VariableDeclaration", - "scope": 1335, - "src": "4139:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1317, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4139:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1320, - "mutability": "mutable", - "name": "data", - "nameLocation": "4176:4:6", - "nodeType": "VariableDeclaration", - "scope": 1335, - "src": "4163:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1319, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4163:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1322, - "mutability": "mutable", - "name": "value", - "nameLocation": "4198:5:6", - "nodeType": "VariableDeclaration", - "scope": 1335, - "src": "4190:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4190:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4129:80:6" - }, - "returnParameters": { - "id": 1326, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1325, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1335, - "src": "4228:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1324, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4228:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4227:14:6" - }, - "scope": 1521, - "src": "4099:254:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1384, - "nodeType": "Block", - "src": "4780:320:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1352, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "4806:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1521", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$1521", - "typeString": "library Address" - } - ], - "id": 1351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4798:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1350, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4798:7:6", - "typeDescriptions": {} - } - }, - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4798:13:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "4798:21:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1355, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "4823:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4798:30:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4830:40:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - }, - "value": "Address: insufficient balance for call" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - } - ], - "id": 1349, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4790:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4790:81:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1359, - "nodeType": "ExpressionStatement", - "src": "4790:81:6" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1362, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "4900:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1361, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1244, - "src": "4889:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4889:18:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 1364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4909:31:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - }, - "value": "Address: call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - } - ], - "id": 1360, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4881:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4881:60:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1366, - "nodeType": "ExpressionStatement", - "src": "4881:60:6" - }, - { - "assignments": [ - 1368, - 1370 - ], - "declarations": [ - { - "constant": false, - "id": 1368, - "mutability": "mutable", - "name": "success", - "nameLocation": "4958:7:6", - "nodeType": "VariableDeclaration", - "scope": 1384, - "src": "4953:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1367, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4953:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1370, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "4980:10:6", - "nodeType": "VariableDeclaration", - "scope": 1384, - "src": "4967:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4967:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1377, - "initialValue": { - "arguments": [ - { - "id": 1375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "5020:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1371, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "4994:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4994:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 1373, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "5013:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "4994:25:6", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4994:31:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4952:73:6" - }, - { - "expression": { - "arguments": [ - { - "id": 1379, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "5059:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1380, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "5068:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1381, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "5080:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1378, - "name": "verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1520, - "src": "5042:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 1382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5042:51:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1348, - "id": 1383, - "nodeType": "Return", - "src": "5035:58:6" - } - ] - }, - "documentation": { - "id": 1336, - "nodeType": "StructuredDocumentation", - "src": "4359:237:6", - "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" - }, - "id": 1385, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nameLocation": "4610:21:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1338, - "mutability": "mutable", - "name": "target", - "nameLocation": "4649:6:6", - "nodeType": "VariableDeclaration", - "scope": 1385, - "src": "4641:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4641:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1340, - "mutability": "mutable", - "name": "data", - "nameLocation": "4678:4:6", - "nodeType": "VariableDeclaration", - "scope": 1385, - "src": "4665:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1339, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4665:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1342, - "mutability": "mutable", - "name": "value", - "nameLocation": "4700:5:6", - "nodeType": "VariableDeclaration", - "scope": 1385, - "src": "4692:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4692:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1344, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "4729:12:6", - "nodeType": "VariableDeclaration", - "scope": 1385, - "src": "4715:26:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1343, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4715:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4631:116:6" - }, - "returnParameters": { - "id": 1348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1347, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1385, - "src": "4766:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1346, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4766:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4765:14:6" - }, - "scope": 1521, - "src": "4601:499:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1401, - "nodeType": "Block", - "src": "5377:97:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1396, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1388, - "src": "5413:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1397, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1390, - "src": "5421:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", - "id": 1398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5427:39:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", - "typeString": "literal_string \"Address: low-level static call failed\"" - }, - "value": "Address: low-level static call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", - "typeString": "literal_string \"Address: low-level static call failed\"" - } - ], - "id": 1395, - "name": "functionStaticCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1402, - 1437 - ], - "referencedDeclaration": 1437, - "src": "5394:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" - } - }, - "id": 1399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5394:73:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1394, - "id": 1400, - "nodeType": "Return", - "src": "5387:80:6" - } - ] - }, - "documentation": { - "id": 1386, - "nodeType": "StructuredDocumentation", - "src": "5106:166:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" - }, - "id": 1402, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nameLocation": "5286:18:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1388, - "mutability": "mutable", - "name": "target", - "nameLocation": "5313:6:6", - "nodeType": "VariableDeclaration", - "scope": 1402, - "src": "5305:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5305:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1390, - "mutability": "mutable", - "name": "data", - "nameLocation": "5334:4:6", - "nodeType": "VariableDeclaration", - "scope": 1402, - "src": "5321:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1389, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5321:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5304:35:6" - }, - "returnParameters": { - "id": 1394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1393, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1402, - "src": "5363:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1392, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5363:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5362:14:6" - }, - "scope": 1521, - "src": "5277:197:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1436, - "nodeType": "Block", - "src": "5816:228:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1416, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "5845:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1415, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1244, - "src": "5834:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5834:18:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5854:38:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", - "typeString": "literal_string \"Address: static call to non-contract\"" - }, - "value": "Address: static call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", - "typeString": "literal_string \"Address: static call to non-contract\"" - } - ], - "id": 1414, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5826:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5826:67:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1420, - "nodeType": "ExpressionStatement", - "src": "5826:67:6" - }, - { - "assignments": [ - 1422, - 1424 - ], - "declarations": [ - { - "constant": false, - "id": 1422, - "mutability": "mutable", - "name": "success", - "nameLocation": "5910:7:6", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "5905:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1421, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5905:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1424, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "5932:10:6", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "5919:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1423, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5919:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1429, - "initialValue": { - "arguments": [ - { - "id": 1427, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1407, - "src": "5964:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1425, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "5946:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "5946:17:6", - "typeDescriptions": { - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 1428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5946:23:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5904:65:6" - }, - { - "expression": { - "arguments": [ - { - "id": 1431, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1422, - "src": "6003:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1432, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1424, - "src": "6012:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1433, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "6024:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1430, - "name": "verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1520, - "src": "5986:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 1434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5986:51:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1413, - "id": 1435, - "nodeType": "Return", - "src": "5979:58:6" - } - ] - }, - "documentation": { - "id": 1403, - "nodeType": "StructuredDocumentation", - "src": "5480:173:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" - }, - "id": 1437, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nameLocation": "5667:18:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1405, - "mutability": "mutable", - "name": "target", - "nameLocation": "5703:6:6", - "nodeType": "VariableDeclaration", - "scope": 1437, - "src": "5695:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1404, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5695:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1407, - "mutability": "mutable", - "name": "data", - "nameLocation": "5732:4:6", - "nodeType": "VariableDeclaration", - "scope": 1437, - "src": "5719:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1406, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5719:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1409, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "5760:12:6", - "nodeType": "VariableDeclaration", - "scope": 1437, - "src": "5746:26:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1408, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5746:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "5685:93:6" - }, - "returnParameters": { - "id": 1413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1412, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1437, - "src": "5802:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1411, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5802:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5801:14:6" - }, - "scope": 1521, - "src": "5658:386:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1453, - "nodeType": "Block", - "src": "6320:101:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1448, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "6358:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "6366:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "id": 1450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6372:41:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", - "typeString": "literal_string \"Address: low-level delegate call failed\"" - }, - "value": "Address: low-level delegate call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", - "typeString": "literal_string \"Address: low-level delegate call failed\"" - } - ], - "id": 1447, - "name": "functionDelegateCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1454, - 1489 - ], - "referencedDeclaration": 1489, - "src": "6337:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 1451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6337:77:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1446, - "id": 1452, - "nodeType": "Return", - "src": "6330:84:6" - } - ] - }, - "documentation": { - "id": 1438, - "nodeType": "StructuredDocumentation", - "src": "6050:168:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" - }, - "id": 1454, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nameLocation": "6232:20:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1443, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1440, - "mutability": "mutable", - "name": "target", - "nameLocation": "6261:6:6", - "nodeType": "VariableDeclaration", - "scope": 1454, - "src": "6253:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1439, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6253:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1442, - "mutability": "mutable", - "name": "data", - "nameLocation": "6282:4:6", - "nodeType": "VariableDeclaration", - "scope": 1454, - "src": "6269:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1441, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6269:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6252:35:6" - }, - "returnParameters": { - "id": 1446, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1445, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1454, - "src": "6306:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1444, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6306:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6305:14:6" - }, - "scope": 1521, - "src": "6223:198:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1488, - "nodeType": "Block", - "src": "6762:232:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1468, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1457, - "src": "6791:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1467, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1244, - "src": "6780:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6780:18:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 1470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6800:40:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", - "typeString": "literal_string \"Address: delegate call to non-contract\"" - }, - "value": "Address: delegate call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", - "typeString": "literal_string \"Address: delegate call to non-contract\"" - } - ], - "id": 1466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6772:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6772:69:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1472, - "nodeType": "ExpressionStatement", - "src": "6772:69:6" - }, - { - "assignments": [ - 1474, - 1476 - ], - "declarations": [ - { - "constant": false, - "id": 1474, - "mutability": "mutable", - "name": "success", - "nameLocation": "6858:7:6", - "nodeType": "VariableDeclaration", - "scope": 1488, - "src": "6853:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1473, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6853:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1476, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "6880:10:6", - "nodeType": "VariableDeclaration", - "scope": 1488, - "src": "6867:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1475, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6867:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1481, - "initialValue": { - "arguments": [ - { - "id": 1479, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1459, - "src": "6914:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1477, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1457, - "src": "6894:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "src": "6894:19:6", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 1480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6894:25:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6852:67:6" - }, - { - "expression": { - "arguments": [ - { - "id": 1483, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1474, - "src": "6953:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1484, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "6962:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1485, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1461, - "src": "6974:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1482, - "name": "verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1520, - "src": "6936:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6936:51:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1465, - "id": 1487, - "nodeType": "Return", - "src": "6929:58:6" - } - ] - }, - "documentation": { - "id": 1455, - "nodeType": "StructuredDocumentation", - "src": "6427:175:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" - }, - "id": 1489, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nameLocation": "6616:20:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1462, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1457, - "mutability": "mutable", - "name": "target", - "nameLocation": "6654:6:6", - "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "6646:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1456, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6646:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1459, - "mutability": "mutable", - "name": "data", - "nameLocation": "6683:4:6", - "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "6670:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1458, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6670:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1461, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "6711:12:6", - "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "6697:26:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1460, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6697:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6636:93:6" - }, - "returnParameters": { - "id": 1465, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1464, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "6748:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1463, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6748:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6747:14:6" - }, - "scope": 1521, - "src": "6607:387:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1519, - "nodeType": "Block", - "src": "7374:532:6", - "statements": [ - { - "condition": { - "id": 1501, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "7388:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1517, - "nodeType": "Block", - "src": "7445:455:6", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1505, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1494, - "src": "7529:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "7529:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7549:1:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7529:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1515, - "nodeType": "Block", - "src": "7837:53:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1512, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1496, - "src": "7862:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1511, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "7855:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7855:20:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1514, - "nodeType": "ExpressionStatement", - "src": "7855:20:6" - } - ] - }, - "id": 1516, - "nodeType": "IfStatement", - "src": "7525:365:6", - "trueBody": { - "id": 1510, - "nodeType": "Block", - "src": "7552:279:6", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "7672:145:6", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7694:40:6", - "value": { - "arguments": [ - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7723:10:6" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7717:5:6" - }, - "nodeType": "YulFunctionCall", - "src": "7717:17:6" - }, - "variables": [ - { - "name": "returndata_size", - "nodeType": "YulTypedName", - "src": "7698:15:6", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7766:2:6", - "type": "", - "value": "32" - }, - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7770:10:6" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7762:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "7762:19:6" - }, - { - "name": "returndata_size", - "nodeType": "YulIdentifier", - "src": "7783:15:6" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7755:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "7755:44:6" - }, - "nodeType": "YulExpressionStatement", - "src": "7755:44:6" - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 1494, - "isOffset": false, - "isSlot": false, - "src": "7723:10:6", - "valueSize": 1 - }, - { - "declaration": 1494, - "isOffset": false, - "isSlot": false, - "src": "7770:10:6", - "valueSize": 1 - } - ], - "id": 1509, - "nodeType": "InlineAssembly", - "src": "7663:154:6" - } - ] - } - } - ] - }, - "id": 1518, - "nodeType": "IfStatement", - "src": "7384:516:6", - "trueBody": { - "id": 1504, - "nodeType": "Block", - "src": "7397:42:6", - "statements": [ - { - "expression": { - "id": 1502, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1494, - "src": "7418:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1500, - "id": 1503, - "nodeType": "Return", - "src": "7411:17:6" - } - ] - } - } - ] - }, - "documentation": { - "id": 1490, - "nodeType": "StructuredDocumentation", - "src": "7000:209:6", - "text": " @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason using the provided one.\n _Available since v4.3._" - }, - "id": 1520, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verifyCallResult", - "nameLocation": "7223:16:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1492, - "mutability": "mutable", - "name": "success", - "nameLocation": "7254:7:6", - "nodeType": "VariableDeclaration", - "scope": 1520, - "src": "7249:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1491, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7249:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1494, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "7284:10:6", - "nodeType": "VariableDeclaration", - "scope": 1520, - "src": "7271:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1493, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7271:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1496, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "7318:12:6", - "nodeType": "VariableDeclaration", - "scope": 1520, - "src": "7304:26:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1495, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7304:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "7239:97:6" - }, - "returnParameters": { - "id": 1500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1499, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1520, - "src": "7360:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1498, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7360:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "7359:14:6" - }, - "scope": 1521, - "src": "7214:692:6", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1522, - "src": "179:7729:6", - "usedErrors": [] - } - ], - "src": "86:7823:6" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 1521 - ] - }, - "id": 1522, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1226, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "86:23:6" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Address", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1227, - "nodeType": "StructuredDocumentation", - "src": "111:67:6", - "text": " @dev Collection of functions related to the address type" - }, - "fullyImplemented": true, - "id": 1521, - "linearizedBaseContracts": [ - 1521 - ], - "name": "Address", - "nameLocation": "187:7:6", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1243, - "nodeType": "Block", - "src": "837:311:6", - "statements": [ - { - "assignments": [ - 1236 - ], - "declarations": [ - { - "constant": false, - "id": 1236, - "mutability": "mutable", - "name": "size", - "nameLocation": "1042:4:6", - "nodeType": "VariableDeclaration", - "scope": 1243, - "src": "1034:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1034:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1237, - "nodeType": "VariableDeclarationStatement", - "src": "1034:12:6" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1065:52:6", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1079:28:6", - "value": { - "arguments": [ - { - "name": "account", - "nodeType": "YulIdentifier", - "src": "1099:7:6" - } - ], - "functionName": { - "name": "extcodesize", - "nodeType": "YulIdentifier", - "src": "1087:11:6" - }, - "nodeType": "YulFunctionCall", - "src": "1087:20:6" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1079:4:6" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 1230, - "isOffset": false, - "isSlot": false, - "src": "1099:7:6", - "valueSize": 1 - }, - { - "declaration": 1236, - "isOffset": false, - "isSlot": false, - "src": "1079:4:6", - "valueSize": 1 - } - ], - "id": 1238, - "nodeType": "InlineAssembly", - "src": "1056:61:6" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1239, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1236, - "src": "1133:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1140:1:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1133:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1234, - "id": 1242, - "nodeType": "Return", - "src": "1126:15:6" - } - ] - }, - "documentation": { - "id": 1228, - "nodeType": "StructuredDocumentation", - "src": "201:565:6", - "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n ====" - }, - "id": 1244, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nameLocation": "780:10:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1231, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1230, - "mutability": "mutable", - "name": "account", - "nameLocation": "799:7:6", - "nodeType": "VariableDeclaration", - "scope": 1244, - "src": "791:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "791:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "790:17:6" - }, - "returnParameters": { - "id": 1234, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1233, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1244, - "src": "831:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1232, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "831:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "830:6:6" - }, - "scope": 1521, - "src": "771:377:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1277, - "nodeType": "Block", - "src": "2136:241:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1255, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "2162:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1521", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$1521", - "typeString": "library Address" - } - ], - "id": 1254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2154:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2154:7:6", - "typeDescriptions": {} - } - }, - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2154:13:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "2154:21:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1258, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1249, - "src": "2179:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2154:31:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 1260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2187:31:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - }, - "value": "Address: insufficient balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - } - ], - "id": 1252, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2146:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2146:73:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1262, - "nodeType": "ExpressionStatement", - "src": "2146:73:6" - }, - { - "assignments": [ - 1264, - null - ], - "declarations": [ - { - "constant": false, - "id": 1264, - "mutability": "mutable", - "name": "success", - "nameLocation": "2236:7:6", - "nodeType": "VariableDeclaration", - "scope": 1277, - "src": "2231:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1263, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2231:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 1271, - "initialValue": { - "arguments": [ - { - "hexValue": "", - "id": 1269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2279:2:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "id": 1265, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "2249:9:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "2249:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 1267, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1249, - "src": "2271:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2249:29:6", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2249:33:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2230:52:6" - }, - { - "expression": { - "arguments": [ - { - "id": 1273, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1264, - "src": "2300:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 1274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2309:60:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - }, - "value": "Address: unable to send value, recipient may have reverted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - } - ], - "id": 1272, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2292:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2292:78:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1276, - "nodeType": "ExpressionStatement", - "src": "2292:78:6" - } - ] - }, - "documentation": { - "id": 1245, - "nodeType": "StructuredDocumentation", - "src": "1154:906:6", - "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." - }, - "id": 1278, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendValue", - "nameLocation": "2074:9:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1247, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "2100:9:6", - "nodeType": "VariableDeclaration", - "scope": 1278, - "src": "2084:25:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2084:15:6", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1249, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2119:6:6", - "nodeType": "VariableDeclaration", - "scope": 1278, - "src": "2111:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2111:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2083:43:6" - }, - "returnParameters": { - "id": 1251, - "nodeType": "ParameterList", - "parameters": [], - "src": "2136:0:6" - }, - "scope": 1521, - "src": "2065:312:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1294, - "nodeType": "Block", - "src": "3208:84:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1289, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1281, - "src": "3238:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1290, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1283, - "src": "3246:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 1291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3252:32:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - }, - "value": "Address: low-level call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - } - ], - "id": 1288, - "name": "functionCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1295, - 1315 - ], - "referencedDeclaration": 1315, - "src": "3225:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3225:60:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1287, - "id": 1293, - "nodeType": "Return", - "src": "3218:67:6" - } - ] - }, - "documentation": { - "id": 1279, - "nodeType": "StructuredDocumentation", - "src": "2383:731:6", - "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" - }, - "id": 1295, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nameLocation": "3128:12:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1284, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1281, - "mutability": "mutable", - "name": "target", - "nameLocation": "3149:6:6", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "3141:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3141:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1283, - "mutability": "mutable", - "name": "data", - "nameLocation": "3170:4:6", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "3157:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1282, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3157:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3140:35:6" - }, - "returnParameters": { - "id": 1287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1286, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1295, - "src": "3194:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1285, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3194:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3193:14:6" - }, - "scope": 1521, - "src": "3119:173:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1314, - "nodeType": "Block", - "src": "3661:76:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1308, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1298, - "src": "3700:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1309, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1300, - "src": "3708:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "30", - "id": 1310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3714:1:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 1311, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "3717:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1307, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1335, - 1385 - ], - "referencedDeclaration": 1385, - "src": "3678:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3678:52:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1306, - "id": 1313, - "nodeType": "Return", - "src": "3671:59:6" - } - ] - }, - "documentation": { - "id": 1296, - "nodeType": "StructuredDocumentation", - "src": "3298:211:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" - }, - "id": 1315, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nameLocation": "3523:12:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1303, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1298, - "mutability": "mutable", - "name": "target", - "nameLocation": "3553:6:6", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "3545:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1297, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3545:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1300, - "mutability": "mutable", - "name": "data", - "nameLocation": "3582:4:6", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "3569:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1299, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3569:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1302, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "3610:12:6", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "3596:26:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1301, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3596:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3535:93:6" - }, - "returnParameters": { - "id": 1306, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1305, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1315, - "src": "3647:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1304, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3647:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3646:14:6" - }, - "scope": 1521, - "src": "3514:223:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1334, - "nodeType": "Block", - "src": "4242:111:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1328, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1318, - "src": "4281:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1329, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1320, - "src": "4289:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1330, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1322, - "src": "4295:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 1331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4302:43:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - }, - "value": "Address: low-level call with value failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - } - ], - "id": 1327, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1335, - 1385 - ], - "referencedDeclaration": 1385, - "src": "4259:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4259:87:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1326, - "id": 1333, - "nodeType": "Return", - "src": "4252:94:6" - } - ] - }, - "documentation": { - "id": 1316, - "nodeType": "StructuredDocumentation", - "src": "3743:351:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" - }, - "id": 1335, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nameLocation": "4108:21:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1323, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1318, - "mutability": "mutable", - "name": "target", - "nameLocation": "4147:6:6", - "nodeType": "VariableDeclaration", - "scope": 1335, - "src": "4139:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1317, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4139:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1320, - "mutability": "mutable", - "name": "data", - "nameLocation": "4176:4:6", - "nodeType": "VariableDeclaration", - "scope": 1335, - "src": "4163:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1319, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4163:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1322, - "mutability": "mutable", - "name": "value", - "nameLocation": "4198:5:6", - "nodeType": "VariableDeclaration", - "scope": 1335, - "src": "4190:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4190:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4129:80:6" - }, - "returnParameters": { - "id": 1326, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1325, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1335, - "src": "4228:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1324, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4228:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4227:14:6" - }, - "scope": 1521, - "src": "4099:254:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1384, - "nodeType": "Block", - "src": "4780:320:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1352, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "4806:4:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1521", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$1521", - "typeString": "library Address" - } - ], - "id": 1351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4798:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1350, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4798:7:6", - "typeDescriptions": {} - } - }, - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4798:13:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "4798:21:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1355, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "4823:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4798:30:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4830:40:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - }, - "value": "Address: insufficient balance for call" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - } - ], - "id": 1349, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4790:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4790:81:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1359, - "nodeType": "ExpressionStatement", - "src": "4790:81:6" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1362, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "4900:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1361, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1244, - "src": "4889:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4889:18:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 1364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4909:31:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - }, - "value": "Address: call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - } - ], - "id": 1360, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4881:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4881:60:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1366, - "nodeType": "ExpressionStatement", - "src": "4881:60:6" - }, - { - "assignments": [ - 1368, - 1370 - ], - "declarations": [ - { - "constant": false, - "id": 1368, - "mutability": "mutable", - "name": "success", - "nameLocation": "4958:7:6", - "nodeType": "VariableDeclaration", - "scope": 1384, - "src": "4953:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1367, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4953:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1370, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "4980:10:6", - "nodeType": "VariableDeclaration", - "scope": 1384, - "src": "4967:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1369, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4967:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1377, - "initialValue": { - "arguments": [ - { - "id": 1375, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "5020:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1371, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "4994:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4994:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 1373, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "5013:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "4994:25:6", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4994:31:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4952:73:6" - }, - { - "expression": { - "arguments": [ - { - "id": 1379, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "5059:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1380, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "5068:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1381, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "5080:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1378, - "name": "verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1520, - "src": "5042:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 1382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5042:51:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1348, - "id": 1383, - "nodeType": "Return", - "src": "5035:58:6" - } - ] - }, - "documentation": { - "id": 1336, - "nodeType": "StructuredDocumentation", - "src": "4359:237:6", - "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" - }, - "id": 1385, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nameLocation": "4610:21:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1338, - "mutability": "mutable", - "name": "target", - "nameLocation": "4649:6:6", - "nodeType": "VariableDeclaration", - "scope": 1385, - "src": "4641:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4641:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1340, - "mutability": "mutable", - "name": "data", - "nameLocation": "4678:4:6", - "nodeType": "VariableDeclaration", - "scope": 1385, - "src": "4665:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1339, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4665:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1342, - "mutability": "mutable", - "name": "value", - "nameLocation": "4700:5:6", - "nodeType": "VariableDeclaration", - "scope": 1385, - "src": "4692:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4692:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1344, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "4729:12:6", - "nodeType": "VariableDeclaration", - "scope": 1385, - "src": "4715:26:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1343, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4715:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4631:116:6" - }, - "returnParameters": { - "id": 1348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1347, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1385, - "src": "4766:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1346, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4766:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4765:14:6" - }, - "scope": 1521, - "src": "4601:499:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1401, - "nodeType": "Block", - "src": "5377:97:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1396, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1388, - "src": "5413:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1397, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1390, - "src": "5421:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", - "id": 1398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5427:39:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", - "typeString": "literal_string \"Address: low-level static call failed\"" - }, - "value": "Address: low-level static call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", - "typeString": "literal_string \"Address: low-level static call failed\"" - } - ], - "id": 1395, - "name": "functionStaticCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1402, - 1437 - ], - "referencedDeclaration": 1437, - "src": "5394:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" - } - }, - "id": 1399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5394:73:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1394, - "id": 1400, - "nodeType": "Return", - "src": "5387:80:6" - } - ] - }, - "documentation": { - "id": 1386, - "nodeType": "StructuredDocumentation", - "src": "5106:166:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" - }, - "id": 1402, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nameLocation": "5286:18:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1388, - "mutability": "mutable", - "name": "target", - "nameLocation": "5313:6:6", - "nodeType": "VariableDeclaration", - "scope": 1402, - "src": "5305:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5305:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1390, - "mutability": "mutable", - "name": "data", - "nameLocation": "5334:4:6", - "nodeType": "VariableDeclaration", - "scope": 1402, - "src": "5321:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1389, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5321:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5304:35:6" - }, - "returnParameters": { - "id": 1394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1393, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1402, - "src": "5363:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1392, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5363:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5362:14:6" - }, - "scope": 1521, - "src": "5277:197:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1436, - "nodeType": "Block", - "src": "5816:228:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1416, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "5845:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1415, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1244, - "src": "5834:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5834:18:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5854:38:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", - "typeString": "literal_string \"Address: static call to non-contract\"" - }, - "value": "Address: static call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", - "typeString": "literal_string \"Address: static call to non-contract\"" - } - ], - "id": 1414, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5826:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5826:67:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1420, - "nodeType": "ExpressionStatement", - "src": "5826:67:6" - }, - { - "assignments": [ - 1422, - 1424 - ], - "declarations": [ - { - "constant": false, - "id": 1422, - "mutability": "mutable", - "name": "success", - "nameLocation": "5910:7:6", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "5905:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1421, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5905:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1424, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "5932:10:6", - "nodeType": "VariableDeclaration", - "scope": 1436, - "src": "5919:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1423, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5919:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1429, - "initialValue": { - "arguments": [ - { - "id": 1427, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1407, - "src": "5964:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1425, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "5946:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "5946:17:6", - "typeDescriptions": { - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 1428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5946:23:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5904:65:6" - }, - { - "expression": { - "arguments": [ - { - "id": 1431, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1422, - "src": "6003:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1432, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1424, - "src": "6012:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1433, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "6024:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1430, - "name": "verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1520, - "src": "5986:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 1434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5986:51:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1413, - "id": 1435, - "nodeType": "Return", - "src": "5979:58:6" - } - ] - }, - "documentation": { - "id": 1403, - "nodeType": "StructuredDocumentation", - "src": "5480:173:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" - }, - "id": 1437, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nameLocation": "5667:18:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1405, - "mutability": "mutable", - "name": "target", - "nameLocation": "5703:6:6", - "nodeType": "VariableDeclaration", - "scope": 1437, - "src": "5695:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1404, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5695:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1407, - "mutability": "mutable", - "name": "data", - "nameLocation": "5732:4:6", - "nodeType": "VariableDeclaration", - "scope": 1437, - "src": "5719:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1406, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5719:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1409, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "5760:12:6", - "nodeType": "VariableDeclaration", - "scope": 1437, - "src": "5746:26:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1408, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5746:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "5685:93:6" - }, - "returnParameters": { - "id": 1413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1412, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1437, - "src": "5802:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1411, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5802:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5801:14:6" - }, - "scope": 1521, - "src": "5658:386:6", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1453, - "nodeType": "Block", - "src": "6320:101:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1448, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "6358:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1449, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "6366:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "id": 1450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6372:41:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", - "typeString": "literal_string \"Address: low-level delegate call failed\"" - }, - "value": "Address: low-level delegate call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", - "typeString": "literal_string \"Address: low-level delegate call failed\"" - } - ], - "id": 1447, - "name": "functionDelegateCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1454, - 1489 - ], - "referencedDeclaration": 1489, - "src": "6337:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 1451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6337:77:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1446, - "id": 1452, - "nodeType": "Return", - "src": "6330:84:6" - } - ] - }, - "documentation": { - "id": 1438, - "nodeType": "StructuredDocumentation", - "src": "6050:168:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" - }, - "id": 1454, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nameLocation": "6232:20:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1443, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1440, - "mutability": "mutable", - "name": "target", - "nameLocation": "6261:6:6", - "nodeType": "VariableDeclaration", - "scope": 1454, - "src": "6253:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1439, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6253:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1442, - "mutability": "mutable", - "name": "data", - "nameLocation": "6282:4:6", - "nodeType": "VariableDeclaration", - "scope": 1454, - "src": "6269:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1441, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6269:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6252:35:6" - }, - "returnParameters": { - "id": 1446, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1445, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1454, - "src": "6306:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1444, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6306:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6305:14:6" - }, - "scope": 1521, - "src": "6223:198:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1488, - "nodeType": "Block", - "src": "6762:232:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1468, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1457, - "src": "6791:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1467, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1244, - "src": "6780:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6780:18:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 1470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6800:40:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", - "typeString": "literal_string \"Address: delegate call to non-contract\"" - }, - "value": "Address: delegate call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", - "typeString": "literal_string \"Address: delegate call to non-contract\"" - } - ], - "id": 1466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6772:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6772:69:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1472, - "nodeType": "ExpressionStatement", - "src": "6772:69:6" - }, - { - "assignments": [ - 1474, - 1476 - ], - "declarations": [ - { - "constant": false, - "id": 1474, - "mutability": "mutable", - "name": "success", - "nameLocation": "6858:7:6", - "nodeType": "VariableDeclaration", - "scope": 1488, - "src": "6853:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1473, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6853:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1476, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "6880:10:6", - "nodeType": "VariableDeclaration", - "scope": 1488, - "src": "6867:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1475, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6867:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1481, - "initialValue": { - "arguments": [ - { - "id": 1479, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1459, - "src": "6914:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1477, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1457, - "src": "6894:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "src": "6894:19:6", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 1480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6894:25:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6852:67:6" - }, - { - "expression": { - "arguments": [ - { - "id": 1483, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1474, - "src": "6953:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1484, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "6962:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1485, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1461, - "src": "6974:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1482, - "name": "verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1520, - "src": "6936:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6936:51:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1465, - "id": 1487, - "nodeType": "Return", - "src": "6929:58:6" - } - ] - }, - "documentation": { - "id": 1455, - "nodeType": "StructuredDocumentation", - "src": "6427:175:6", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" - }, - "id": 1489, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nameLocation": "6616:20:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1462, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1457, - "mutability": "mutable", - "name": "target", - "nameLocation": "6654:6:6", - "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "6646:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1456, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6646:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1459, - "mutability": "mutable", - "name": "data", - "nameLocation": "6683:4:6", - "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "6670:17:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1458, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6670:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1461, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "6711:12:6", - "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "6697:26:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1460, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6697:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6636:93:6" - }, - "returnParameters": { - "id": 1465, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1464, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "6748:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1463, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6748:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6747:14:6" - }, - "scope": 1521, - "src": "6607:387:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1519, - "nodeType": "Block", - "src": "7374:532:6", - "statements": [ - { - "condition": { - "id": 1501, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "7388:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1517, - "nodeType": "Block", - "src": "7445:455:6", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1505, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1494, - "src": "7529:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "7529:17:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7549:1:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7529:21:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1515, - "nodeType": "Block", - "src": "7837:53:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1512, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1496, - "src": "7862:12:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1511, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "7855:6:6", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7855:20:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1514, - "nodeType": "ExpressionStatement", - "src": "7855:20:6" - } - ] - }, - "id": 1516, - "nodeType": "IfStatement", - "src": "7525:365:6", - "trueBody": { - "id": 1510, - "nodeType": "Block", - "src": "7552:279:6", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "7672:145:6", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7694:40:6", - "value": { - "arguments": [ - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7723:10:6" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7717:5:6" - }, - "nodeType": "YulFunctionCall", - "src": "7717:17:6" - }, - "variables": [ - { - "name": "returndata_size", - "nodeType": "YulTypedName", - "src": "7698:15:6", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7766:2:6", - "type": "", - "value": "32" - }, - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7770:10:6" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7762:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "7762:19:6" - }, - { - "name": "returndata_size", - "nodeType": "YulIdentifier", - "src": "7783:15:6" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7755:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "7755:44:6" - }, - "nodeType": "YulExpressionStatement", - "src": "7755:44:6" - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 1494, - "isOffset": false, - "isSlot": false, - "src": "7723:10:6", - "valueSize": 1 - }, - { - "declaration": 1494, - "isOffset": false, - "isSlot": false, - "src": "7770:10:6", - "valueSize": 1 - } - ], - "id": 1509, - "nodeType": "InlineAssembly", - "src": "7663:154:6" - } - ] - } - } - ] - }, - "id": 1518, - "nodeType": "IfStatement", - "src": "7384:516:6", - "trueBody": { - "id": 1504, - "nodeType": "Block", - "src": "7397:42:6", - "statements": [ - { - "expression": { - "id": 1502, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1494, - "src": "7418:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1500, - "id": 1503, - "nodeType": "Return", - "src": "7411:17:6" - } - ] - } - } - ] - }, - "documentation": { - "id": 1490, - "nodeType": "StructuredDocumentation", - "src": "7000:209:6", - "text": " @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason using the provided one.\n _Available since v4.3._" - }, - "id": 1520, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verifyCallResult", - "nameLocation": "7223:16:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1492, - "mutability": "mutable", - "name": "success", - "nameLocation": "7254:7:6", - "nodeType": "VariableDeclaration", - "scope": 1520, - "src": "7249:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1491, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7249:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1494, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "7284:10:6", - "nodeType": "VariableDeclaration", - "scope": 1520, - "src": "7271:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1493, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7271:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1496, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "7318:12:6", - "nodeType": "VariableDeclaration", - "scope": 1520, - "src": "7304:26:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1495, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7304:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "7239:97:6" - }, - "returnParameters": { - "id": 1500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1499, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1520, - "src": "7360:12:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1498, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7360:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "7359:14:6" - }, - "scope": 1521, - "src": "7214:692:6", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1522, - "src": "179:7729:6", - "usedErrors": [] - } - ], - "src": "86:7823:6" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.597Z", - "devdoc": { - "details": "Collection of functions related to the address type", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/Context.json b/build2/contracts/Context.json deleted file mode 100644 index 9d76183..0000000 --- a/build2/contracts/Context.json +++ /dev/null @@ -1,508 +0,0 @@ -{ - "contractName": "Context", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Context.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 1543 - ] - }, - "id": 1544, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1523, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "86:23:7" - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "Context", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1524, - "nodeType": "StructuredDocumentation", - "src": "111:496:7", - "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." - }, - "fullyImplemented": true, - "id": 1543, - "linearizedBaseContracts": [ - 1543 - ], - "name": "Context", - "nameLocation": "626:7:7", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1532, - "nodeType": "Block", - "src": "702:34:7", - "statements": [ - { - "expression": { - "expression": { - "id": 1529, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "719:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "719:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1528, - "id": 1531, - "nodeType": "Return", - "src": "712:17:7" - } - ] - }, - "id": 1533, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nameLocation": "649:10:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1525, - "nodeType": "ParameterList", - "parameters": [], - "src": "659:2:7" - }, - "returnParameters": { - "id": 1528, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1527, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "693:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "693:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "692:9:7" - }, - "scope": 1543, - "src": "640:96:7", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1541, - "nodeType": "Block", - "src": "809:32:7", - "statements": [ - { - "expression": { - "expression": { - "id": 1538, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "826:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "src": "826:8:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 1537, - "id": 1540, - "nodeType": "Return", - "src": "819:15:7" - } - ] - }, - "id": 1542, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nameLocation": "751:8:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1534, - "nodeType": "ParameterList", - "parameters": [], - "src": "759:2:7" - }, - "returnParameters": { - "id": 1537, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1536, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1542, - "src": "793:14:7", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1535, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "793:5:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "792:16:7" - }, - "scope": 1543, - "src": "742:99:7", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 1544, - "src": "608:235:7", - "usedErrors": [] - } - ], - "src": "86:758:7" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 1543 - ] - }, - "id": 1544, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1523, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "86:23:7" - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "Context", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1524, - "nodeType": "StructuredDocumentation", - "src": "111:496:7", - "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." - }, - "fullyImplemented": true, - "id": 1543, - "linearizedBaseContracts": [ - 1543 - ], - "name": "Context", - "nameLocation": "626:7:7", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1532, - "nodeType": "Block", - "src": "702:34:7", - "statements": [ - { - "expression": { - "expression": { - "id": 1529, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "719:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "719:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1528, - "id": 1531, - "nodeType": "Return", - "src": "712:17:7" - } - ] - }, - "id": 1533, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nameLocation": "649:10:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1525, - "nodeType": "ParameterList", - "parameters": [], - "src": "659:2:7" - }, - "returnParameters": { - "id": 1528, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1527, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "693:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "693:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "692:9:7" - }, - "scope": 1543, - "src": "640:96:7", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1541, - "nodeType": "Block", - "src": "809:32:7", - "statements": [ - { - "expression": { - "expression": { - "id": 1538, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "826:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "src": "826:8:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 1537, - "id": 1540, - "nodeType": "Return", - "src": "819:15:7" - } - ] - }, - "id": 1542, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nameLocation": "751:8:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1534, - "nodeType": "ParameterList", - "parameters": [], - "src": "759:2:7" - }, - "returnParameters": { - "id": 1537, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1536, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1542, - "src": "793:14:7", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1535, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "793:5:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "792:16:7" - }, - "scope": 1543, - "src": "742:99:7", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 1544, - "src": "608:235:7", - "usedErrors": [] - } - ], - "src": "86:758:7" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.599Z", - "devdoc": { - "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/Counters.json b/build2/contracts/Counters.json deleted file mode 100644 index e4f5658..0000000 --- a/build2/contracts/Counters.json +++ /dev/null @@ -1,1688 +0,0 @@ -{ - "contractName": "Counters", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. Include with `using Counters for Counters.Counter;`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Counters\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Counters.sol\":\"Counters\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]}},\"version\":1}", - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122023510280639f1987959a3a3f8fd335c3ebdb9e1a5eec465f08f1e0b67a895eeb64736f6c634300080b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122023510280639f1987959a3a3f8fd335c3ebdb9e1a5eec465f08f1e0b67a895eeb64736f6c634300080b0033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "424:971:8:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;424:971:8;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "424:971:8:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Counters.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title Counters\n * @author Matt Condon (@shrugs)\n * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n * of elements in a mapping, issuing ERC721 ids, or counting request ids.\n *\n * Include with `using Counters for Counters.Counter;`\n */\nlibrary Counters {\n struct Counter {\n // This variable should never be directly accessed by users of the library: interactions must be restricted to\n // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add\n // this feature: see https://github.com/ethereum/solidity/issues/4637\n uint256 _value; // default: 0\n }\n\n function current(Counter storage counter) internal view returns (uint256) {\n return counter._value;\n }\n\n function increment(Counter storage counter) internal {\n unchecked {\n counter._value += 1;\n }\n }\n\n function decrement(Counter storage counter) internal {\n uint256 value = counter._value;\n require(value > 0, \"Counter: decrement overflow\");\n unchecked {\n counter._value = value - 1;\n }\n }\n\n function reset(Counter storage counter) internal {\n counter._value = 0;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Counters.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", - "exportedSymbols": { - "Counters": [ - 1617 - ] - }, - "id": 1618, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1545, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "87:23:8" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Counters", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1546, - "nodeType": "StructuredDocumentation", - "src": "112:311:8", - "text": " @title Counters\n @author Matt Condon (@shrugs)\n @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n of elements in a mapping, issuing ERC721 ids, or counting request ids.\n Include with `using Counters for Counters.Counter;`" - }, - "fullyImplemented": true, - "id": 1617, - "linearizedBaseContracts": [ - 1617 - ], - "name": "Counters", - "nameLocation": "432:8:8", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Counters.Counter", - "id": 1549, - "members": [ - { - "constant": false, - "id": 1548, - "mutability": "mutable", - "name": "_value", - "nameLocation": "794:6:8", - "nodeType": "VariableDeclaration", - "scope": 1549, - "src": "786:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Counter", - "nameLocation": "454:7:8", - "nodeType": "StructDefinition", - "scope": 1617, - "src": "447:374:8", - "visibility": "public" - }, - { - "body": { - "id": 1560, - "nodeType": "Block", - "src": "901:38:8", - "statements": [ - { - "expression": { - "expression": { - "id": 1557, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1552, - "src": "918:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1548, - "src": "918:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1556, - "id": 1559, - "nodeType": "Return", - "src": "911:21:8" - } - ] - }, - "id": 1561, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "current", - "nameLocation": "836:7:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1552, - "mutability": "mutable", - "name": "counter", - "nameLocation": "860:7:8", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "844:23:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1551, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1550, - "name": "Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "844:7:8" - }, - "referencedDeclaration": 1549, - "src": "844:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "843:25:8" - }, - "returnParameters": { - "id": 1556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1555, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "892:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "891:9:8" - }, - "scope": 1617, - "src": "827:112:8", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1574, - "nodeType": "Block", - "src": "998:70:8", - "statements": [ - { - "id": 1573, - "nodeType": "UncheckedBlock", - "src": "1008:54:8", - "statements": [ - { - "expression": { - "id": 1571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1567, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1564, - "src": "1032:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1569, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1548, - "src": "1032:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 1570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1050:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1032:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1572, - "nodeType": "ExpressionStatement", - "src": "1032:19:8" - } - ] - } - ] - }, - "id": 1575, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increment", - "nameLocation": "954:9:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1565, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1564, - "mutability": "mutable", - "name": "counter", - "nameLocation": "980:7:8", - "nodeType": "VariableDeclaration", - "scope": 1575, - "src": "964:23:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1563, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1562, - "name": "Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "964:7:8" - }, - "referencedDeclaration": 1549, - "src": "964:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "963:25:8" - }, - "returnParameters": { - "id": 1566, - "nodeType": "ParameterList", - "parameters": [], - "src": "998:0:8" - }, - "scope": 1617, - "src": "945:123:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1602, - "nodeType": "Block", - "src": "1127:176:8", - "statements": [ - { - "assignments": [ - 1582 - ], - "declarations": [ - { - "constant": false, - "id": 1582, - "mutability": "mutable", - "name": "value", - "nameLocation": "1145:5:8", - "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "1137:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1585, - "initialValue": { - "expression": { - "id": 1583, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1578, - "src": "1153:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1548, - "src": "1153:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1137:30:8" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1587, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1582, - "src": "1185:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1185:9:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "436f756e7465723a2064656372656d656e74206f766572666c6f77", - "id": 1590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1196:29:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f", - "typeString": "literal_string \"Counter: decrement overflow\"" - }, - "value": "Counter: decrement overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f", - "typeString": "literal_string \"Counter: decrement overflow\"" - } - ], - "id": 1586, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1177:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1177:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1592, - "nodeType": "ExpressionStatement", - "src": "1177:49:8" - }, - { - "id": 1601, - "nodeType": "UncheckedBlock", - "src": "1236:61:8", - "statements": [ - { - "expression": { - "id": 1599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1593, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1578, - "src": "1260:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1595, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1548, - "src": "1260:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1596, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1582, - "src": "1277:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1285:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1277:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1260:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1600, - "nodeType": "ExpressionStatement", - "src": "1260:26:8" - } - ] - } - ] - }, - "id": 1603, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decrement", - "nameLocation": "1083:9:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1578, - "mutability": "mutable", - "name": "counter", - "nameLocation": "1109:7:8", - "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "1093:23:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1577, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1576, - "name": "Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "1093:7:8" - }, - "referencedDeclaration": 1549, - "src": "1093:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "1092:25:8" - }, - "returnParameters": { - "id": 1580, - "nodeType": "ParameterList", - "parameters": [], - "src": "1127:0:8" - }, - "scope": 1617, - "src": "1074:229:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1615, - "nodeType": "Block", - "src": "1358:35:8", - "statements": [ - { - "expression": { - "id": 1613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1609, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "1368:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1548, - "src": "1368:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1385:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1368:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1614, - "nodeType": "ExpressionStatement", - "src": "1368:18:8" - } - ] - }, - "id": 1616, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "reset", - "nameLocation": "1318:5:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1606, - "mutability": "mutable", - "name": "counter", - "nameLocation": "1340:7:8", - "nodeType": "VariableDeclaration", - "scope": 1616, - "src": "1324:23:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1605, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1604, - "name": "Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "1324:7:8" - }, - "referencedDeclaration": 1549, - "src": "1324:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "1323:25:8" - }, - "returnParameters": { - "id": 1608, - "nodeType": "ParameterList", - "parameters": [], - "src": "1358:0:8" - }, - "scope": 1617, - "src": "1309:84:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1618, - "src": "424:971:8", - "usedErrors": [] - } - ], - "src": "87:1309:8" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", - "exportedSymbols": { - "Counters": [ - 1617 - ] - }, - "id": 1618, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1545, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "87:23:8" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Counters", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1546, - "nodeType": "StructuredDocumentation", - "src": "112:311:8", - "text": " @title Counters\n @author Matt Condon (@shrugs)\n @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n of elements in a mapping, issuing ERC721 ids, or counting request ids.\n Include with `using Counters for Counters.Counter;`" - }, - "fullyImplemented": true, - "id": 1617, - "linearizedBaseContracts": [ - 1617 - ], - "name": "Counters", - "nameLocation": "432:8:8", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Counters.Counter", - "id": 1549, - "members": [ - { - "constant": false, - "id": 1548, - "mutability": "mutable", - "name": "_value", - "nameLocation": "794:6:8", - "nodeType": "VariableDeclaration", - "scope": 1549, - "src": "786:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Counter", - "nameLocation": "454:7:8", - "nodeType": "StructDefinition", - "scope": 1617, - "src": "447:374:8", - "visibility": "public" - }, - { - "body": { - "id": 1560, - "nodeType": "Block", - "src": "901:38:8", - "statements": [ - { - "expression": { - "expression": { - "id": 1557, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1552, - "src": "918:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1548, - "src": "918:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1556, - "id": 1559, - "nodeType": "Return", - "src": "911:21:8" - } - ] - }, - "id": 1561, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "current", - "nameLocation": "836:7:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1552, - "mutability": "mutable", - "name": "counter", - "nameLocation": "860:7:8", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "844:23:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1551, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1550, - "name": "Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "844:7:8" - }, - "referencedDeclaration": 1549, - "src": "844:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "843:25:8" - }, - "returnParameters": { - "id": 1556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1555, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "892:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "891:9:8" - }, - "scope": 1617, - "src": "827:112:8", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1574, - "nodeType": "Block", - "src": "998:70:8", - "statements": [ - { - "id": 1573, - "nodeType": "UncheckedBlock", - "src": "1008:54:8", - "statements": [ - { - "expression": { - "id": 1571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1567, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1564, - "src": "1032:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1569, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1548, - "src": "1032:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 1570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1050:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1032:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1572, - "nodeType": "ExpressionStatement", - "src": "1032:19:8" - } - ] - } - ] - }, - "id": 1575, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increment", - "nameLocation": "954:9:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1565, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1564, - "mutability": "mutable", - "name": "counter", - "nameLocation": "980:7:8", - "nodeType": "VariableDeclaration", - "scope": 1575, - "src": "964:23:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1563, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1562, - "name": "Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "964:7:8" - }, - "referencedDeclaration": 1549, - "src": "964:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "963:25:8" - }, - "returnParameters": { - "id": 1566, - "nodeType": "ParameterList", - "parameters": [], - "src": "998:0:8" - }, - "scope": 1617, - "src": "945:123:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1602, - "nodeType": "Block", - "src": "1127:176:8", - "statements": [ - { - "assignments": [ - 1582 - ], - "declarations": [ - { - "constant": false, - "id": 1582, - "mutability": "mutable", - "name": "value", - "nameLocation": "1145:5:8", - "nodeType": "VariableDeclaration", - "scope": 1602, - "src": "1137:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1585, - "initialValue": { - "expression": { - "id": 1583, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1578, - "src": "1153:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1548, - "src": "1153:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1137:30:8" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1587, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1582, - "src": "1185:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1185:9:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "436f756e7465723a2064656372656d656e74206f766572666c6f77", - "id": 1590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1196:29:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f", - "typeString": "literal_string \"Counter: decrement overflow\"" - }, - "value": "Counter: decrement overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f", - "typeString": "literal_string \"Counter: decrement overflow\"" - } - ], - "id": 1586, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1177:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1177:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1592, - "nodeType": "ExpressionStatement", - "src": "1177:49:8" - }, - { - "id": 1601, - "nodeType": "UncheckedBlock", - "src": "1236:61:8", - "statements": [ - { - "expression": { - "id": 1599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1593, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1578, - "src": "1260:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1595, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1548, - "src": "1260:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1596, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1582, - "src": "1277:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1285:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1277:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1260:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1600, - "nodeType": "ExpressionStatement", - "src": "1260:26:8" - } - ] - } - ] - }, - "id": 1603, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decrement", - "nameLocation": "1083:9:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1578, - "mutability": "mutable", - "name": "counter", - "nameLocation": "1109:7:8", - "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "1093:23:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1577, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1576, - "name": "Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "1093:7:8" - }, - "referencedDeclaration": 1549, - "src": "1093:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "1092:25:8" - }, - "returnParameters": { - "id": 1580, - "nodeType": "ParameterList", - "parameters": [], - "src": "1127:0:8" - }, - "scope": 1617, - "src": "1074:229:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1615, - "nodeType": "Block", - "src": "1358:35:8", - "statements": [ - { - "expression": { - "id": 1613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1609, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1606, - "src": "1368:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1548, - "src": "1368:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1385:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1368:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1614, - "nodeType": "ExpressionStatement", - "src": "1368:18:8" - } - ] - }, - "id": 1616, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "reset", - "nameLocation": "1318:5:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1606, - "mutability": "mutable", - "name": "counter", - "nameLocation": "1340:7:8", - "nodeType": "VariableDeclaration", - "scope": 1616, - "src": "1324:23:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1605, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1604, - "name": "Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "1324:7:8" - }, - "referencedDeclaration": 1549, - "src": "1324:7:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "1323:25:8" - }, - "returnParameters": { - "id": 1608, - "nodeType": "ParameterList", - "parameters": [], - "src": "1358:0:8" - }, - "scope": 1617, - "src": "1309:84:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1618, - "src": "424:971:8", - "usedErrors": [] - } - ], - "src": "87:1309:8" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.599Z", - "devdoc": { - "author": "Matt Condon (@shrugs)", - "details": "Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. Include with `using Counters for Counters.Counter;`", - "kind": "dev", - "methods": {}, - "title": "Counters", - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/ERC165.json b/build2/contracts/ERC165.json deleted file mode 100644 index 3e3c033..0000000 --- a/build2/contracts/ERC165.json +++ /dev/null @@ -1,622 +0,0 @@ -{ - "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.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\":\"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},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@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/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", - "sourcePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 1844 - ], - "IERC165": [ - 1856 - ] - }, - "id": 1845, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1822, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "99:23:10" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 1823, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1845, - "sourceUnit": 1857, - "src": "124:23:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1825, - "name": "IERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1856, - "src": "754:7:10" - }, - "id": 1826, - "nodeType": "InheritanceSpecifier", - "src": "754:7:10" - } - ], - "canonicalName": "ERC165", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1824, - "nodeType": "StructuredDocumentation", - "src": "149:576:10", - "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": 1844, - "linearizedBaseContracts": [ - 1844, - 1856 - ], - "name": "ERC165", - "nameLocation": "744:6:10", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 1855 - ], - "body": { - "id": 1842, - "nodeType": "Block", - "src": "920:64:10", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 1840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1835, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1829, - "src": "937:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 1837, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1856, - "src": "957:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$1856_$", - "typeString": "type(contract IERC165)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165_$1856_$", - "typeString": "type(contract IERC165)" - } - ], - "id": 1836, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "952:4:10", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "952:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$1856", - "typeString": "type(contract IERC165)" - } - }, - "id": 1839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "952:25:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "937:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1834, - "id": 1841, - "nodeType": "Return", - "src": "930:47:10" - } - ] - }, - "documentation": { - "id": 1827, - "nodeType": "StructuredDocumentation", - "src": "768:56:10", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 1843, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "838:17:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1831, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "896:8:10" - }, - "parameters": { - "id": 1830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1829, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "863:11:10", - "nodeType": "VariableDeclaration", - "scope": 1843, - "src": "856:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1828, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "856:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "855:20:10" - }, - "returnParameters": { - "id": 1834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1833, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1843, - "src": "914:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1832, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "914:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "913:6:10" - }, - "scope": 1844, - "src": "829:155:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - } - ], - "scope": 1845, - "src": "726:260:10", - "usedErrors": [] - } - ], - "src": "99:888:10" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 1844 - ], - "IERC165": [ - 1856 - ] - }, - "id": 1845, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1822, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "99:23:10" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 1823, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1845, - "sourceUnit": 1857, - "src": "124:23:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1825, - "name": "IERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1856, - "src": "754:7:10" - }, - "id": 1826, - "nodeType": "InheritanceSpecifier", - "src": "754:7:10" - } - ], - "canonicalName": "ERC165", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1824, - "nodeType": "StructuredDocumentation", - "src": "149:576:10", - "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": 1844, - "linearizedBaseContracts": [ - 1844, - 1856 - ], - "name": "ERC165", - "nameLocation": "744:6:10", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 1855 - ], - "body": { - "id": 1842, - "nodeType": "Block", - "src": "920:64:10", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 1840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1835, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1829, - "src": "937:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 1837, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1856, - "src": "957:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$1856_$", - "typeString": "type(contract IERC165)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165_$1856_$", - "typeString": "type(contract IERC165)" - } - ], - "id": 1836, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "952:4:10", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "952:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$1856", - "typeString": "type(contract IERC165)" - } - }, - "id": 1839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "952:25:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "937:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1834, - "id": 1841, - "nodeType": "Return", - "src": "930:47:10" - } - ] - }, - "documentation": { - "id": 1827, - "nodeType": "StructuredDocumentation", - "src": "768:56:10", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 1843, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "838:17:10", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1831, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "896:8:10" - }, - "parameters": { - "id": 1830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1829, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "863:11:10", - "nodeType": "VariableDeclaration", - "scope": 1843, - "src": "856:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1828, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "856:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "855:20:10" - }, - "returnParameters": { - "id": 1834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1833, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1843, - "src": "914:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1832, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "914:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "913:6:10" - }, - "scope": 1844, - "src": "829:155:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - } - ], - "scope": 1845, - "src": "726:260:10", - "usedErrors": [] - } - ], - "src": "99:888:10" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.601Z", - "devdoc": { - "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 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/ERC721.json b/build2/contracts/ERC721.json deleted file mode 100644 index 2959fe4..0000000 --- a/build2/contracts/ERC721.json +++ /dev/null @@ -1,32272 +0,0 @@ -{ - "contractName": "ERC721", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "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": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "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": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "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": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "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" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\"}],\"devdoc\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x81c02855bc239e16ec09eee000a8bec691424c715188d6d881037e69c45414c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46e3ecc8920aeb78c362a387520fe28e022cdc6d04256d9e5874eb8ff6868b6d\",\"dweb:/ipfs/QmdfCTHrV6CZMGiM3KqGF8tWkdNvGpEmWFyy72X1LAHsz2\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd5fa74b4fb323776fa4a8158800fec9d5ac0fec0d6dd046dd93798632ada265f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33017a30a99cc5411a9e376622c31fc4a55cfc6a335e2f57f00cbf24a817ff3f\",\"dweb:/ipfs/QmWNQtWTPhA7Lo8nbxbc8KFMvZwbFYB8fSeEQ3vuapSV4a\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x51b758a8815ecc9596c66c37d56b1d33883a444631a3f916b9fe65cb863ef7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://997ca03557985b3c6f9143a18b6c3a710b3bc1c7f189ee956d305a966ecfb922\",\"dweb:/ipfs/QmQaD3Wb62F88SHqmpLttvF6wKuPDQep2LLUcKPekeRzvz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b50604051620014e2380380620014e28339810160408190526200003491620001db565b81516200004990600090602085019062000068565b5080516200005f90600190602084019062000068565b50505062000282565b828054620000769062000245565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013657600080fd5b81516001600160401b03808211156200015357620001536200010e565b604051601f8301601f19908116603f011681019082821181831017156200017e576200017e6200010e565b816040528381526020925086838588010111156200019b57600080fd5b600091505b83821015620001bf5785820183015181830184015290820190620001a0565b83821115620001d15760008385830101525b9695505050505050565b60008060408385031215620001ef57600080fd5b82516001600160401b03808211156200020757600080fd5b620002158683870162000124565b935060208501519150808211156200022c57600080fd5b506200023b8582860162000124565b9150509250929050565b600181811c908216806200025a57607f821691505b602082108114156200027c57634e487b7160e01b600052602260045260246000fd5b50919050565b61125080620002926000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610d60565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610dd5565b61012461011f366004610de8565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610e1d565b6103a6565b005b61014f61015f366004610e47565b6104bc565b61014f610172366004610e47565b6104ed565b610124610185366004610de8565b610508565b61019d610198366004610e83565b61057f565b6040519081526020016100f3565b610104610606565b61014f6101c1366004610e9e565b610615565b61014f6101d4366004610ef0565b610624565b6101046101e7366004610de8565b61065c565b6100e76101fa366004610fcc565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610fff565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610fff565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b031661038a5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006103b182610508565b9050806001600160a01b0316836001600160a01b0316141561041f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610381565b336001600160a01b038216148061043b575061043b81336101fa565b6104ad5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610381565b6104b78383610744565b505050565b6104c633826107b2565b6104e25760405162461bcd60e51b81526004016103819061103a565b6104b78383836108a9565b6104b783838360405180602001604052806000815250610624565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610381565b60006001600160a01b0382166105ea5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610381565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610fff565b610620338383610a49565b5050565b61062e33836107b2565b61064a5760405162461bcd60e51b81526004016103819061103a565b61065684848484610b18565b50505050565b6000818152600260205260409020546060906001600160a01b03166106db5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610381565b60006106f260408051602081019091526000815290565b90506000815111610712576040518060200160405280600081525061073d565b8061071c84610b4b565b60405160200161072d92919061108b565b6040516020818303038152906040525b9392505050565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061077982610508565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b031661082b5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610381565b600061083683610508565b9050806001600160a01b0316846001600160a01b031614806108715750836001600160a01b03166108668461030c565b6001600160a01b0316145b806108a157506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166108bc82610508565b6001600160a01b0316146109245760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610381565b6001600160a01b0382166109865760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610381565b610991600082610744565b6001600160a01b03831660009081526003602052604081208054600192906109ba9084906110d0565b90915550506001600160a01b03821660009081526003602052604081208054600192906109e89084906110e7565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03161415610aab5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610381565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610b238484846108a9565b610b2f84848484610c49565b6106565760405162461bcd60e51b8152600401610381906110ff565b606081610b6f5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610b995780610b8381611151565b9150610b929050600a83611182565b9150610b73565b60008167ffffffffffffffff811115610bb457610bb4610eda565b6040519080825280601f01601f191660200182016040528015610bde576020820181803683370190505b5090505b84156108a157610bf36001836110d0565b9150610c00600a86611196565b610c0b9060306110e7565b60f81b818381518110610c2057610c206111aa565b60200101906001600160f81b031916908160001a905350610c42600a86611182565b9450610be2565b60006001600160a01b0384163b15610d3c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610c8d9033908990889088906004016111c0565b6020604051808303816000875af1925050508015610cc8575060408051601f3d908101601f19168201909252610cc5918101906111fd565b60015b610d22573d808015610cf6576040519150601f19603f3d011682016040523d82523d6000602084013e610cfb565b606091505b508051610d1a5760405162461bcd60e51b8152600401610381906110ff565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506108a1565b506001949350505050565b6001600160e01b031981168114610d5d57600080fd5b50565b600060208284031215610d7257600080fd5b813561073d81610d47565b60005b83811015610d98578181015183820152602001610d80565b838111156106565750506000910152565b60008151808452610dc1816020860160208601610d7d565b601f01601f19169290920160200192915050565b60208152600061073d6020830184610da9565b600060208284031215610dfa57600080fd5b5035919050565b80356001600160a01b0381168114610e1857600080fd5b919050565b60008060408385031215610e3057600080fd5b610e3983610e01565b946020939093013593505050565b600080600060608486031215610e5c57600080fd5b610e6584610e01565b9250610e7360208501610e01565b9150604084013590509250925092565b600060208284031215610e9557600080fd5b61073d82610e01565b60008060408385031215610eb157600080fd5b610eba83610e01565b915060208301358015158114610ecf57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610f0657600080fd5b610f0f85610e01565b9350610f1d60208601610e01565b925060408501359150606085013567ffffffffffffffff80821115610f4157600080fd5b818701915087601f830112610f5557600080fd5b813581811115610f6757610f67610eda565b604051601f8201601f19908116603f01168101908382118183101715610f8f57610f8f610eda565b816040528281528a6020848701011115610fa857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610fdf57600080fd5b610fe883610e01565b9150610ff660208401610e01565b90509250929050565b600181811c9082168061101357607f821691505b6020821081141561103457634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000835161109d818460208801610d7d565b8351908301906110b1818360208801610d7d565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110e2576110e26110ba565b500390565b600082198211156110fa576110fa6110ba565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000600019821415611165576111656110ba565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826111915761119161116c565b500490565b6000826111a5576111a561116c565b500690565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906111f390830184610da9565b9695505050505050565b60006020828403121561120f57600080fd5b815161073d81610d4756fea2646970667358221220a8c6c7e228460662c9ae59467089873187ca06d167788f3d97a9e47cf8f2e9ba64736f6c634300080b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610d60565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610dd5565b61012461011f366004610de8565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610e1d565b6103a6565b005b61014f61015f366004610e47565b6104bc565b61014f610172366004610e47565b6104ed565b610124610185366004610de8565b610508565b61019d610198366004610e83565b61057f565b6040519081526020016100f3565b610104610606565b61014f6101c1366004610e9e565b610615565b61014f6101d4366004610ef0565b610624565b6101046101e7366004610de8565b61065c565b6100e76101fa366004610fcc565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610fff565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610fff565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b031661038a5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006103b182610508565b9050806001600160a01b0316836001600160a01b0316141561041f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610381565b336001600160a01b038216148061043b575061043b81336101fa565b6104ad5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610381565b6104b78383610744565b505050565b6104c633826107b2565b6104e25760405162461bcd60e51b81526004016103819061103a565b6104b78383836108a9565b6104b783838360405180602001604052806000815250610624565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610381565b60006001600160a01b0382166105ea5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610381565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610fff565b610620338383610a49565b5050565b61062e33836107b2565b61064a5760405162461bcd60e51b81526004016103819061103a565b61065684848484610b18565b50505050565b6000818152600260205260409020546060906001600160a01b03166106db5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610381565b60006106f260408051602081019091526000815290565b90506000815111610712576040518060200160405280600081525061073d565b8061071c84610b4b565b60405160200161072d92919061108b565b6040516020818303038152906040525b9392505050565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061077982610508565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b031661082b5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610381565b600061083683610508565b9050806001600160a01b0316846001600160a01b031614806108715750836001600160a01b03166108668461030c565b6001600160a01b0316145b806108a157506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166108bc82610508565b6001600160a01b0316146109245760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610381565b6001600160a01b0382166109865760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610381565b610991600082610744565b6001600160a01b03831660009081526003602052604081208054600192906109ba9084906110d0565b90915550506001600160a01b03821660009081526003602052604081208054600192906109e89084906110e7565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03161415610aab5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610381565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610b238484846108a9565b610b2f84848484610c49565b6106565760405162461bcd60e51b8152600401610381906110ff565b606081610b6f5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610b995780610b8381611151565b9150610b929050600a83611182565b9150610b73565b60008167ffffffffffffffff811115610bb457610bb4610eda565b6040519080825280601f01601f191660200182016040528015610bde576020820181803683370190505b5090505b84156108a157610bf36001836110d0565b9150610c00600a86611196565b610c0b9060306110e7565b60f81b818381518110610c2057610c206111aa565b60200101906001600160f81b031916908160001a905350610c42600a86611182565b9450610be2565b60006001600160a01b0384163b15610d3c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610c8d9033908990889088906004016111c0565b6020604051808303816000875af1925050508015610cc8575060408051601f3d908101601f19168201909252610cc5918101906111fd565b60015b610d22573d808015610cf6576040519150601f19603f3d011682016040523d82523d6000602084013e610cfb565b606091505b508051610d1a5760405162461bcd60e51b8152600401610381906110ff565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506108a1565b506001949350505050565b6001600160e01b031981168114610d5d57600080fd5b50565b600060208284031215610d7257600080fd5b813561073d81610d47565b60005b83811015610d98578181015183820152602001610d80565b838111156106565750506000910152565b60008151808452610dc1816020860160208601610d7d565b601f01601f19169290920160200192915050565b60208152600061073d6020830184610da9565b600060208284031215610dfa57600080fd5b5035919050565b80356001600160a01b0381168114610e1857600080fd5b919050565b60008060408385031215610e3057600080fd5b610e3983610e01565b946020939093013593505050565b600080600060608486031215610e5c57600080fd5b610e6584610e01565b9250610e7360208501610e01565b9150604084013590509250925092565b600060208284031215610e9557600080fd5b61073d82610e01565b60008060408385031215610eb157600080fd5b610eba83610e01565b915060208301358015158114610ecf57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610f0657600080fd5b610f0f85610e01565b9350610f1d60208601610e01565b925060408501359150606085013567ffffffffffffffff80821115610f4157600080fd5b818701915087601f830112610f5557600080fd5b813581811115610f6757610f67610eda565b604051601f8201601f19908116603f01168101908382118183101715610f8f57610f8f610eda565b816040528281528a6020848701011115610fa857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610fdf57600080fd5b610fe883610e01565b9150610ff660208401610e01565b90509250929050565b600181811c9082168061101357607f821691505b6020821081141561103457634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000835161109d818460208801610d7d565b8351908301906110b1818360208801610d7d565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110e2576110e26110ba565b500390565b600082198211156110fa576110fa6110ba565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000600019821415611165576111656110ba565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826111915761119161116c565b500490565b6000826111a5576111a561116c565b500690565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906111f390830184610da9565b9695505050505050565b60006020828403121561120f57600080fd5b815161073d81610d4756fea2646970667358221220a8c6c7e228460662c9ae59467089873187ca06d167788f3d97a9e47cf8f2e9ba64736f6c634300080b0033", - "immutableReferences": {}, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1985:15", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:15", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:15", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:15", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:15", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:15" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:15", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:15" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "210:821:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "259:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "268:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "271:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "261:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "261:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "261:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "238:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "246:4:15", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "234:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "234:17:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "253:3:15" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "230:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "230:27:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "223:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "223:35:15" - }, - "nodeType": "YulIf", - "src": "220:55:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "284:23:15", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "300:6:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "294:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "294:13:15" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "288:2:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "316:28:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "334:2:15", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "338:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "330:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "330:10:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "342:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "326:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "326:18:15" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "320:2:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "367:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "369:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "369:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "369:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "359:2:15" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "363:2:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "356:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "356:10:15" - }, - "nodeType": "YulIf", - "src": "353:36:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "398:17:15", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "412:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "408:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "408:7:15" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "402:2:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "424:23:15", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "444:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "438:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "438:9:15" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "428:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "456:71:15", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "478:6:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "502:2:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "506:4:15", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "498:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "498:13:15" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "513:2:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "494:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "494:22:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "518:2:15", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "490:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "490:31:15" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "523:2:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "486:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "486:40:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "474:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "474:53:15" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "460:10:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "586:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "588:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "588:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "588:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "545:10:15" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "557:2:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "542:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "542:18:15" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "565:10:15" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "577:6:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "562:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "562:22:15" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "539:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "539:46:15" - }, - "nodeType": "YulIf", - "src": "536:72:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "624:2:15", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "628:10:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "617:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "617:22:15" - }, - "nodeType": "YulExpressionStatement", - "src": "617:22:15" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "655:6:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "663:2:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "648:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "648:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "648:18:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "675:14:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "685:4:15", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "679:2:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "735:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "744:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "747:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "737:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "737:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "737:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "712:6:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "720:2:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "708:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "708:15:15" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "725:2:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "704:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "704:24:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "730:3:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "701:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "701:33:15" - }, - "nodeType": "YulIf", - "src": "698:53:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "760:10:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "769:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "764:1:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "825:87:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "854:6:15" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "862:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "850:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "850:14:15" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "866:2:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "846:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "846:23:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "885:6:15" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "893:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "881:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "881:14:15" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "897:2:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "877:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "877:23:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "871:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "871:30:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "839:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "839:63:15" - }, - "nodeType": "YulExpressionStatement", - "src": "839:63:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "790:1:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "793:2:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "787:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "787:9:15" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "797:19:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "799:15:15", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "808:1:15" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "811:2:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "804:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "804:10:15" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "799:1:15" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "783:3:15", - "statements": [] - }, - "src": "779:133:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "942:59:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "971:6:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "979:2:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "967:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "967:15:15" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "984:2:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "963:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "963:24:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "989:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "956:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "956:35:15" - }, - "nodeType": "YulExpressionStatement", - "src": "956:35:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "927:1:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "930:2:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "924:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "924:9:15" - }, - "nodeType": "YulIf", - "src": "921:80:15" - }, - { - "nodeType": "YulAssignment", - "src": "1010:15:15", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1019:6:15" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1010:5:15" - } - ] - } - ] - }, - "name": "abi_decode_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "184:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "192:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "200:5:15", - "type": "" - } - ], - "src": "146:885:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1154:444:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1200:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1209:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1212:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1202:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1202:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1202:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1175:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1184:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1171:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1171:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1196:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1167:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1167:32:15" - }, - "nodeType": "YulIf", - "src": "1164:52:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1225:30:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1245:9:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1239:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "1239:16:15" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1229:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1264:28:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1282:2:15", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1286:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1278:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1278:10:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1290:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1274:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1274:18:15" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1268:2:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1319:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1328:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1331:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1321:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1321:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1321:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1307:6:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1315:2:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1304:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1304:14:15" - }, - "nodeType": "YulIf", - "src": "1301:34:15" - }, - { - "nodeType": "YulAssignment", - "src": "1344:71:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1387:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1398:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1383:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1383:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1407:7:15" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1354:28:15" - }, - "nodeType": "YulFunctionCall", - "src": "1354:61:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1344:6:15" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1424:41:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1450:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1461:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1446:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1446:18:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1440:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "1440:25:15" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1428:8:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1494:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1503:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1506:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1496:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1496:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1496:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1480:8:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1490:2:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1477:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1477:16:15" - }, - "nodeType": "YulIf", - "src": "1474:36:15" - }, - { - "nodeType": "YulAssignment", - "src": "1519:73:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1562:9:15" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1573:8:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1558:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1558:24:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1584:7:15" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1529:28:15" - }, - "nodeType": "YulFunctionCall", - "src": "1529:63:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1519:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1112:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1123:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1135:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1143:6:15", - "type": "" - } - ], - "src": "1036:562:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1658:325:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1668:22:15", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1682:1:15", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1685:4:15" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1678:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1678:12:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1668:6:15" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1699:38:15", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1729:4:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1735:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1725:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1725:12:15" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "1703:18:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1776:31:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1778:27:15", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1792:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1800:4:15", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1788:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1788:17:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1778:6:15" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1756:18:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1749:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1749:26:15" - }, - "nodeType": "YulIf", - "src": "1746:61:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1866:111:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1887:1:15", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1894:3:15", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1899:10:15", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1890:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1890:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1880:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1880:31:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1880:31:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1931:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1934:4:15", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1924:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1924:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1924:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1959:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1962:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1952:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1952:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1952:15:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1822:18:15" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1845:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1853:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1842:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1842:14:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1819:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1819:38:15" - }, - "nodeType": "YulIf", - "src": "1816:161:15" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1638:4:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1647:6:15", - "type": "" - } - ], - "src": "1603:380:15" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _4), 0)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n}", - "id": 15, - "language": "Yul", - "name": "#utility.yul" - } - ], - "deployedGeneratedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:12313:15", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:15", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "58:87:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "123:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "132:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "135:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "125:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "125:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "125:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "81:5:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "92:5:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:3:15", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "108:10:15", - "type": "", - "value": "0xffffffff" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "99:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "99:20:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "88:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "88:32:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "78:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "78:43:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "71:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "71:51:15" - }, - "nodeType": "YulIf", - "src": "68:71:15" - } - ] - }, - "name": "validator_revert_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "47:5:15", - "type": "" - } - ], - "src": "14:131:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "219:176:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "265:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "274:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "277:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "267:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "267:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "267:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "240:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "249:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "236:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "236:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "261:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "232:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "232:32:15" - }, - "nodeType": "YulIf", - "src": "229:52:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "290:36:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "316:9:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "303:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "303:23:15" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "294:5:15", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "359:5:15" - } - ], - "functionName": { - "name": "validator_revert_bytes4", - "nodeType": "YulIdentifier", - "src": "335:23:15" - }, - "nodeType": "YulFunctionCall", - "src": "335:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "335:30:15" - }, - { - "nodeType": "YulAssignment", - "src": "374:15:15", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "384:5:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "374:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "185:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "196:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "208:6:15", - "type": "" - } - ], - "src": "150:245:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "495:92:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "505:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "517:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "528:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "513:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "513:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "505:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "547:9:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "572:6:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "565:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "565:14:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "558:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "558:22:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "540:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "540:41:15" - }, - "nodeType": "YulExpressionStatement", - "src": "540:41:15" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "464:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "475:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "486:4:15", - "type": "" - } - ], - "src": "400:187:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "645:205:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "655:10:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "664:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "659:1:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "724:63:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "749:3:15" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "754:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "745:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "745:11:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "768:3:15" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "773:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "764:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "764:11:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "758:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "758:18:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "738:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "738:39:15" - }, - "nodeType": "YulExpressionStatement", - "src": "738:39:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "685:1:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "688:6:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "682:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "682:13:15" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "696:19:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "698:15:15", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "707:1:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "710:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "703:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "703:10:15" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "698:1:15" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "678:3:15", - "statements": [] - }, - "src": "674:113:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "813:31:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "826:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "831:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "822:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "822:16:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "840:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "815:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "815:27:15" - }, - "nodeType": "YulExpressionStatement", - "src": "815:27:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "802:1:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "805:6:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "799:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "799:13:15" - }, - "nodeType": "YulIf", - "src": "796:48:15" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "623:3:15", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "628:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "633:6:15", - "type": "" - } - ], - "src": "592:258:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "905:208:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "915:26:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "935:5:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "929:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "929:12:15" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "919:6:15", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "957:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "962:6:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "950:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "950:19:15" - }, - "nodeType": "YulExpressionStatement", - "src": "950:19:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1004:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1011:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1000:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1000:16:15" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1022:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1027:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1018:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1018:14:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1034:6:15" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "978:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "978:63:15" - }, - "nodeType": "YulExpressionStatement", - "src": "978:63:15" - }, - { - "nodeType": "YulAssignment", - "src": "1050:57:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1065:3:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1078:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1086:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1074:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1074:15:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1095:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1091:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1091:7:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1070:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1070:29:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1061:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1061:39:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1102:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1057:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1057:50:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1050:3:15" - } - ] - } - ] - }, - "name": "abi_encode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "882:5:15", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "889:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "897:3:15", - "type": "" - } - ], - "src": "855:258:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1239:99:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1256:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1267:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1249:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1249:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1249:21:15" - }, - { - "nodeType": "YulAssignment", - "src": "1279:53:15", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1305:6:15" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1317:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1328:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1313:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1313:18:15" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "1287:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "1287:45:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1279:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1208:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1219:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1230:4:15", - "type": "" - } - ], - "src": "1118:220:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1413:110:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1459:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1468:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1471:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1461:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1461:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1461:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1434:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1443:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1430:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1430:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1455:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1426:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1426:32:15" - }, - "nodeType": "YulIf", - "src": "1423:52:15" - }, - { - "nodeType": "YulAssignment", - "src": "1484:33:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1507:9:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1494:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "1494:23:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1484:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1379:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1390:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1402:6:15", - "type": "" - } - ], - "src": "1343:180:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1629:102:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1639:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1651:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1662:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1647:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1647:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1639:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1681:9:15" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1696:6:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1712:3:15", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1717:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1708:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1708:11:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1721:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1704:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1704:19:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1692:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1692:32:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1674:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1674:51:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1674:51:15" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1598:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1609:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1620:4:15", - "type": "" - } - ], - "src": "1528:203:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1785:124:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1795:29:15", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1817:6:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1804:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "1804:20:15" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1795:5:15" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1887:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1896:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1899:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1889:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1889:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1889:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1846:5:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1857:5:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1872:3:15", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1877:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1868:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1868:11:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1881:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1864:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1864:19:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1853:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1853:31:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1843:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1843:42:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1836:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1836:50:15" - }, - "nodeType": "YulIf", - "src": "1833:70:15" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1764:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1775:5:15", - "type": "" - } - ], - "src": "1736:173:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2001:167:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2047:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2056:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2059:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2049:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2049:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2049:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2022:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2031:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2018:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2018:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2043:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2014:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2014:32:15" - }, - "nodeType": "YulIf", - "src": "2011:52:15" - }, - { - "nodeType": "YulAssignment", - "src": "2072:39:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2101:9:15" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2082:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "2082:29:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2072:6:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2120:42:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2147:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2158:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2143:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2143:18:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2130:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "2130:32:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2120:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1959:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1970:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1982:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1990:6:15", - "type": "" - } - ], - "src": "1914:254:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2277:224:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2323:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2332:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2335:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2325:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2325:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2325:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2298:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2307:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2294:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2294:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2319:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2290:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2290:32:15" - }, - "nodeType": "YulIf", - "src": "2287:52:15" - }, - { - "nodeType": "YulAssignment", - "src": "2348:39:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2377:9:15" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2358:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "2358:29:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2348:6:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2396:48:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2429:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2440:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2425:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2425:18:15" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2406:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "2406:38:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2396:6:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2453:42:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2480:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2491:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2476:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2476:18:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2463:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "2463:32:15" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2453:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2227:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2238:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2250:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2258:6:15", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2266:6:15", - "type": "" - } - ], - "src": "2173:328:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2576:116:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2622:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2631:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2634:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2624:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2624:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2624:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2597:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2606:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2593:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2593:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2618:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2589:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2589:32:15" - }, - "nodeType": "YulIf", - "src": "2586:52:15" - }, - { - "nodeType": "YulAssignment", - "src": "2647:39:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2676:9:15" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2657:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "2657:29:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2647:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2542:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2553:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2565:6:15", - "type": "" - } - ], - "src": "2506:186:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2798:76:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2808:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2820:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2831:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2816:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2816:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2808:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2850:9:15" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2861:6:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2843:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2843:25:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2843:25:15" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2767:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2778:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2789:4:15", - "type": "" - } - ], - "src": "2697:177:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2963:263:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3009:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3018:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3021:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3011:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3011:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3011:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2984:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2993:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2980:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2980:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3005:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2976:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2976:32:15" - }, - "nodeType": "YulIf", - "src": "2973:52:15" - }, - { - "nodeType": "YulAssignment", - "src": "3034:39:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3063:9:15" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3044:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "3044:29:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3034:6:15" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3082:45:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3112:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3123:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3108:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3108:18:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3095:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "3095:32:15" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3086:5:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3180:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3189:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3192:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3182:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3182:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3182:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3149:5:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3170:5:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3163:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3163:13:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3156:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3156:21:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3146:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "3146:32:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3139:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3139:40:15" - }, - "nodeType": "YulIf", - "src": "3136:60:15" - }, - { - "nodeType": "YulAssignment", - "src": "3205:15:15", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3215:5:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3205:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2921:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2932:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2944:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2952:6:15", - "type": "" - } - ], - "src": "2879:347:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3263:95:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3280:1:15", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3287:3:15", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3292:10:15", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3283:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3283:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3273:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3273:31:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3273:31:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3320:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3323:4:15", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3313:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3313:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3313:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3344:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3347:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3337:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3337:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3337:15:15" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "3231:127:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3493:1008:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3540:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3549:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3552:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3542:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3542:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3542:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3514:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3523:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3510:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3510:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3535:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3506:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3506:33:15" - }, - "nodeType": "YulIf", - "src": "3503:53:15" - }, - { - "nodeType": "YulAssignment", - "src": "3565:39:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3594:9:15" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3575:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "3575:29:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3565:6:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3613:48:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3646:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3657:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3642:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3642:18:15" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3623:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "3623:38:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3613:6:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3670:42:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3697:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3708:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3693:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3693:18:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3680:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "3680:32:15" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3670:6:15" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3721:46:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3752:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3763:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3748:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3748:18:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3735:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "3735:32:15" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3725:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3776:28:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3786:18:15", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3780:2:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3831:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3840:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3843:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3833:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3833:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3833:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3819:6:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3827:2:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3816:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "3816:14:15" - }, - "nodeType": "YulIf", - "src": "3813:34:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3856:32:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3870:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3881:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3866:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3866:22:15" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "3860:2:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3936:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3945:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3948:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3938:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3938:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3938:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3915:2:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3919:4:15", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3911:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3911:13:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3926:7:15" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3907:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3907:27:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3900:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3900:35:15" - }, - "nodeType": "YulIf", - "src": "3897:55:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3961:26:15", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3984:2:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3971:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "3971:16:15" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "3965:2:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4010:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "4012:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "4012:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4012:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4002:2:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4006:2:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3999:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "3999:10:15" - }, - "nodeType": "YulIf", - "src": "3996:36:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4041:17:15", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4055:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4051:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4051:7:15" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "4045:2:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4067:23:15", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4087:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4081:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "4081:9:15" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "4071:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4099:71:15", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4121:6:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4145:2:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4149:4:15", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4141:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4141:13:15" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "4156:2:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4137:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4137:22:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4161:2:15", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4133:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4133:31:15" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "4166:2:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4129:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4129:40:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4117:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4117:53:15" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "4103:10:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4229:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "4231:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "4231:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4231:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "4188:10:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4200:2:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4185:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "4185:18:15" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "4208:10:15" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4220:6:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4205:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "4205:22:15" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "4182:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "4182:46:15" - }, - "nodeType": "YulIf", - "src": "4179:72:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4267:2:15", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "4271:10:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4260:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "4260:22:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4260:22:15" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4298:6:15" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4306:2:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4291:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "4291:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4291:18:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4355:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4364:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4367:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4357:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "4357:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4357:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4332:2:15" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4336:2:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4328:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4328:11:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4341:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4324:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4324:20:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4346:7:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4321:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "4321:33:15" - }, - "nodeType": "YulIf", - "src": "4318:53:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4397:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4405:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4393:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4393:15:15" - }, - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4414:2:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4418:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4410:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4410:11:15" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4423:2:15" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "4380:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "4380:46:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4380:46:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4450:6:15" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4458:2:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4446:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4446:15:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4463:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4442:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4442:24:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4468:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4435:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "4435:35:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4435:35:15" - }, - { - "nodeType": "YulAssignment", - "src": "4479:16:15", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4489:6:15" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4479:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3435:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3446:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3458:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3466:6:15", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3474:6:15", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3482:6:15", - "type": "" - } - ], - "src": "3363:1138:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4593:173:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4639:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4648:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4651:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4641:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "4641:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4641:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4614:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4623:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4610:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4610:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4635:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4606:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4606:32:15" - }, - "nodeType": "YulIf", - "src": "4603:52:15" - }, - { - "nodeType": "YulAssignment", - "src": "4664:39:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4693:9:15" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "4674:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "4674:29:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4664:6:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4712:48:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4745:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4756:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4741:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4741:18:15" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "4722:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "4722:38:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4712:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4551:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4562:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4574:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4582:6:15", - "type": "" - } - ], - "src": "4506:260:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4826:325:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4836:22:15", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4850:1:15", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "4853:4:15" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "4846:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4846:12:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4836:6:15" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4867:38:15", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "4897:4:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4903:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4893:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4893:12:15" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "4871:18:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4944:31:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4946:27:15", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4960:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4968:4:15", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4956:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4956:17:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4946:6:15" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "4924:18:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4917:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "4917:26:15" - }, - "nodeType": "YulIf", - "src": "4914:61:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5034:111:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5055:1:15", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5062:3:15", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5067:10:15", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "5058:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5058:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5048:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5048:31:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5048:31:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5099:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5102:4:15", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5092:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5092:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5092:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5127:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5120:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5120:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5120:15:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "4990:18:15" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5013:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5021:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5010:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "5010:14:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "4987:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "4987:38:15" - }, - "nodeType": "YulIf", - "src": "4984:161:15" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "4806:4:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "4815:6:15", - "type": "" - } - ], - "src": "4771:380:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5330:234:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5347:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5358:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5340:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5340:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5340:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5381:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5392:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5377:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5377:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5397:2:15", - "type": "", - "value": "44" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5370:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5370:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5370:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5420:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5431:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5416:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5416:18:15" - }, - { - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5436:34:15", - "type": "", - "value": "ERC721: approved query for nonex" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5409:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5409:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5409:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5491:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5502:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5487:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5487:18:15" - }, - { - "hexValue": "697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5507:14:15", - "type": "", - "value": "istent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5480:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5480:42:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5480:42:15" - }, - { - "nodeType": "YulAssignment", - "src": "5531:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5543:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5554:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5539:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5539:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5531:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5307:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5321:4:15", - "type": "" - } - ], - "src": "5156:408:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5743:223:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5760:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5771:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5753:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5753:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5753:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5794:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5805:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5790:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5790:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5810:2:15", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5783:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5783:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5783:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5833:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5844:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5829:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5829:18:15" - }, - { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5849:34:15", - "type": "", - "value": "ERC721: approval to current owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5822:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5822:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5822:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5904:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5915:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5900:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5900:18:15" - }, - { - "hexValue": "72", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5920:3:15", - "type": "", - "value": "r" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5893:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5893:31:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5893:31:15" - }, - { - "nodeType": "YulAssignment", - "src": "5933:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5945:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5956:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5941:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5941:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5933:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5720:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5734:4:15", - "type": "" - } - ], - "src": "5569:397:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6145:246:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6162:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6173:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6155:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6155:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6155:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6196:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6207:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6192:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6192:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6212:2:15", - "type": "", - "value": "56" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6185:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6185:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6185:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6235:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6246:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6231:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6231:18:15" - }, - { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f77", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6251:34:15", - "type": "", - "value": "ERC721: approve caller is not ow" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6224:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6224:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6224:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6306:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6317:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6302:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6302:18:15" - }, - { - "hexValue": "6e6572206e6f7220617070726f76656420666f7220616c6c", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6322:26:15", - "type": "", - "value": "ner nor approved for all" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6295:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6295:54:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6295:54:15" - }, - { - "nodeType": "YulAssignment", - "src": "6358:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6370:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6381:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6366:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6366:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6358:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6122:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6136:4:15", - "type": "" - } - ], - "src": "5971:420:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6570:239:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6587:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6598:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6580:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6580:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6580:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6621:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6632:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6617:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6617:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6637:2:15", - "type": "", - "value": "49" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6610:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6610:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6610:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6660:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6671:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6656:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6656:18:15" - }, - { - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6676:34:15", - "type": "", - "value": "ERC721: transfer caller is not o" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6649:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6649:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6649:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6731:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6742:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6727:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6727:18:15" - }, - { - "hexValue": "776e6572206e6f7220617070726f766564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6747:19:15", - "type": "", - "value": "wner nor approved" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6720:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6720:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6720:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "6776:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6788:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6799:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6784:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6784:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6776:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6547:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6561:4:15", - "type": "" - } - ], - "src": "6396:413:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6988:231:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7005:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7016:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6998:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6998:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6998:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7039:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7050:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7035:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7035:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7055:2:15", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7028:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7028:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7028:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7078:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7089:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7074:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7074:18:15" - }, - { - "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7094:34:15", - "type": "", - "value": "ERC721: owner query for nonexist" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7067:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7067:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7067:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7149:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7160:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7145:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7145:18:15" - }, - { - "hexValue": "656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7165:11:15", - "type": "", - "value": "ent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7138:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7138:39:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7138:39:15" - }, - { - "nodeType": "YulAssignment", - "src": "7186:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7198:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7209:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7194:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7194:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7186:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6965:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6979:4:15", - "type": "" - } - ], - "src": "6814:405:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7398:232:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7415:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7426:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7408:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7408:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7408:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7449:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7460:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7445:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7445:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7465:2:15", - "type": "", - "value": "42" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7438:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7438:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7438:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7488:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7499:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7484:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7484:18:15" - }, - { - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7504:34:15", - "type": "", - "value": "ERC721: balance query for the ze" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7477:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7477:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7477:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7559:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7570:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7555:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7555:18:15" - }, - { - "hexValue": "726f2061646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7575:12:15", - "type": "", - "value": "ro address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7548:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7548:40:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7548:40:15" - }, - { - "nodeType": "YulAssignment", - "src": "7597:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7609:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7620:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7605:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7605:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7597:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7375:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7389:4:15", - "type": "" - } - ], - "src": "7224:406:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7809:237:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7826:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7837:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7819:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7819:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7819:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7860:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7871:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7856:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7856:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7876:2:15", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7849:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7849:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7849:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7899:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7910:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7895:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7895:18:15" - }, - { - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7915:34:15", - "type": "", - "value": "ERC721Metadata: URI query for no" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7888:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7888:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7888:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7970:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7981:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7966:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7966:18:15" - }, - { - "hexValue": "6e6578697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7986:17:15", - "type": "", - "value": "nexistent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7959:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7959:45:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7959:45:15" - }, - { - "nodeType": "YulAssignment", - "src": "8013:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8025:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8036:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8021:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8021:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8013:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7786:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7800:4:15", - "type": "" - } - ], - "src": "7635:411:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8238:283:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8248:27:15", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8268:6:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8262:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "8262:13:15" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8252:6:15", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8310:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8318:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8306:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8306:17:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8325:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8330:6:15" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "8284:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "8284:53:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8284:53:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8346:29:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8363:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8368:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8359:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8359:16:15" - }, - "variables": [ - { - "name": "end_1", - "nodeType": "YulTypedName", - "src": "8350:5:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8384:29:15", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8406:6:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8400:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "8400:13:15" - }, - "variables": [ - { - "name": "length_1", - "nodeType": "YulTypedName", - "src": "8388:8:15", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8448:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8456:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8444:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8444:17:15" - }, - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "8463:5:15" - }, - { - "name": "length_1", - "nodeType": "YulIdentifier", - "src": "8470:8:15" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "8422:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "8422:57:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8422:57:15" - }, - { - "nodeType": "YulAssignment", - "src": "8488:27:15", - "value": { - "arguments": [ - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "8499:5:15" - }, - { - "name": "length_1", - "nodeType": "YulIdentifier", - "src": "8506:8:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8495:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8495:20:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8488:3:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8206:3:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8211:6:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8219:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8230:3:15", - "type": "" - } - ], - "src": "8051:470:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8700:234:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8717:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8728:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8710:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8710:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8710:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8751:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8762:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8747:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8747:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8767:2:15", - "type": "", - "value": "44" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8740:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8740:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8740:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8790:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8801:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8786:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8786:18:15" - }, - { - "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8806:34:15", - "type": "", - "value": "ERC721: operator query for nonex" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8779:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8779:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8779:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8861:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8872:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8857:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8857:18:15" - }, - { - "hexValue": "697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8877:14:15", - "type": "", - "value": "istent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8850:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8850:42:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8850:42:15" - }, - { - "nodeType": "YulAssignment", - "src": "8901:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8913:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8924:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8909:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8909:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8901:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8677:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8691:4:15", - "type": "" - } - ], - "src": "8526:408:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9113:231:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9130:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9141:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9123:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9123:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9123:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9164:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9175:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9160:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9160:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9180:2:15", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9153:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9153:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9153:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9203:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9214:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9199:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9199:18:15" - }, - { - "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e20746861742069", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9219:34:15", - "type": "", - "value": "ERC721: transfer of token that i" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9192:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9192:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9192:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9274:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9285:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9270:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9270:18:15" - }, - { - "hexValue": "73206e6f74206f776e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9290:11:15", - "type": "", - "value": "s not own" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9263:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9263:39:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9263:39:15" - }, - { - "nodeType": "YulAssignment", - "src": "9311:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9323:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9334:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9319:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9319:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9311:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9090:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9104:4:15", - "type": "" - } - ], - "src": "8939:405:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9523:226:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9540:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9551:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9533:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9533:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9533:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9574:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9585:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9570:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9570:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9590:2:15", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9563:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9563:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9563:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9613:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9624:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9609:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9609:18:15" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9629:34:15", - "type": "", - "value": "ERC721: transfer to the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9602:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9602:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9602:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9684:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9695:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9680:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9680:18:15" - }, - { - "hexValue": "72657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9700:6:15", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9673:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9673:34:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9673:34:15" - }, - { - "nodeType": "YulAssignment", - "src": "9716:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9728:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9739:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9724:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9724:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9716:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9500:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9514:4:15", - "type": "" - } - ], - "src": "9349:400:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9786:95:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9803:1:15", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9810:3:15", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9815:10:15", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "9806:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9806:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9796:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9796:31:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9796:31:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9843:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9846:4:15", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9836:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9836:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9836:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9867:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9870:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9860:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "9860:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9860:15:15" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "9754:127:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9935:76:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9957:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9959:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "9959:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9959:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "9951:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "9954:1:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9948:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "9948:8:15" - }, - "nodeType": "YulIf", - "src": "9945:34:15" - }, - { - "nodeType": "YulAssignment", - "src": "9988:17:15", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10000:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10003:1:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9996:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9996:9:15" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "9988:4:15" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "9917:1:15", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "9920:1:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "9926:4:15", - "type": "" - } - ], - "src": "9886:125:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10064:80:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10091:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "10093:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "10093:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10093:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10080:1:15" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10087:1:15" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "10083:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10083:6:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10077:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "10077:13:15" - }, - "nodeType": "YulIf", - "src": "10074:39:15" - }, - { - "nodeType": "YulAssignment", - "src": "10122:16:15", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10133:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10136:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10129:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10129:9:15" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "10122:3:15" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "10047:1:15", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "10050:1:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "10056:3:15", - "type": "" - } - ], - "src": "10016:128:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10323:175:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10340:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10351:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10333:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10333:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10333:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10374:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10385:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10370:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10370:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10390:2:15", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10363:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10363:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10363:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10413:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10424:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10409:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10409:18:15" - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "10429:27:15", - "type": "", - "value": "ERC721: approve to caller" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10402:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10402:55:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10402:55:15" - }, - { - "nodeType": "YulAssignment", - "src": "10466:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10478:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10489:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10474:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10474:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10466:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10300:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10314:4:15", - "type": "" - } - ], - "src": "10149:349:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10677:240:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10694:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10705:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10687:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10687:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10687:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10728:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10739:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10724:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10724:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10744:2:15", - "type": "", - "value": "50" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10717:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10717:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10717:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10767:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10778:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10763:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10763:18:15" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "10783:34:15", - "type": "", - "value": "ERC721: transfer to non ERC721Re" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10756:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10756:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10756:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10838:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10849:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10834:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10834:18:15" - }, - { - "hexValue": "63656976657220696d706c656d656e746572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "10854:20:15", - "type": "", - "value": "ceiver implementer" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10827:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10827:48:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10827:48:15" - }, - { - "nodeType": "YulAssignment", - "src": "10884:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10896:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10907:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10892:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10892:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10884:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10654:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10668:4:15", - "type": "" - } - ], - "src": "10503:414:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10969:88:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "11000:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "11002:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "11002:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11002:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "10985:5:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10996:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "10992:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10992:6:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "10982:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "10982:17:15" - }, - "nodeType": "YulIf", - "src": "10979:43:15" - }, - { - "nodeType": "YulAssignment", - "src": "11031:20:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "11042:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11049:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11038:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11038:13:15" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "11031:3:15" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "10951:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "10961:3:15", - "type": "" - } - ], - "src": "10922:135:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11094:95:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11111:1:15", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11118:3:15", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11123:10:15", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "11114:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11114:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11104:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11104:31:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11104:31:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11151:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11154:4:15", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11144:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11144:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11144:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11175:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11178:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "11168:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11168:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11168:15:15" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "11062:127:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11240:74:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "11263:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "11265:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "11265:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11265:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "11260:1:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11253:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11253:9:15" - }, - "nodeType": "YulIf", - "src": "11250:35:15" - }, - { - "nodeType": "YulAssignment", - "src": "11294:14:15", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "11303:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "11306:1:15" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "11299:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11299:9:15" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "11294:1:15" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "11225:1:15", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "11228:1:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "11234:1:15", - "type": "" - } - ], - "src": "11194:120:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11357:74:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "11380:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "11382:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "11382:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11382:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "11377:1:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11370:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11370:9:15" - }, - "nodeType": "YulIf", - "src": "11367:35:15" - }, - { - "nodeType": "YulAssignment", - "src": "11411:14:15", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "11420:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "11423:1:15" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "11416:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11416:9:15" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "11411:1:15" - } - ] - } - ] - }, - "name": "mod_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "11342:1:15", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "11345:1:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "11351:1:15", - "type": "" - } - ], - "src": "11319:112:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11468:95:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11485:1:15", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11492:3:15", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11497:10:15", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "11488:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11488:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11478:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11478:31:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11478:31:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11525:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11528:4:15", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11518:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11518:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11518:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11549:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11552:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "11542:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11542:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11542:15:15" - } - ] - }, - "name": "panic_error_0x32", - "nodeType": "YulFunctionDefinition", - "src": "11436:127:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11771:286:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "11781:29:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11799:3:15", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11804:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "11795:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11795:11:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11808:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "11791:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11791:19:15" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "11785:2:15", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11826:9:15" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11841:6:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11849:2:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11837:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11837:15:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11819:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11819:34:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11819:34:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11873:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11884:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11869:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11869:18:15" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11893:6:15" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11901:2:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11889:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11889:15:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11862:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11862:43:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11862:43:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11925:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11936:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11921:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11921:18:15" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "11941:6:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11914:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11914:34:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11914:34:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11968:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11979:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11964:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11964:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11984:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11957:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11957:31:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11957:31:15" - }, - { - "nodeType": "YulAssignment", - "src": "11997:54:15", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "12023:6:15" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12035:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12046:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12031:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "12031:19:15" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "12005:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "12005:46:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11997:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11716:9:15", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "11727:6:15", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "11735:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11743:6:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11751:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11762:4:15", - "type": "" - } - ], - "src": "11568:489:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12142:169:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "12188:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12197:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12200:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12190:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "12190:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "12190:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12163:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12172:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12159:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "12159:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12184:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "12155:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "12155:32:15" - }, - "nodeType": "YulIf", - "src": "12152:52:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12213:29:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12232:9:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "12226:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "12226:16:15" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "12217:5:15", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12275:5:15" - } - ], - "functionName": { - "name": "validator_revert_bytes4", - "nodeType": "YulIdentifier", - "src": "12251:23:15" - }, - "nodeType": "YulFunctionCall", - "src": "12251:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "12251:30:15" - }, - { - "nodeType": "YulAssignment", - "src": "12290:15:15", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12300:5:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12290:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12108:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "12119:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "12131:6:15", - "type": "" - } - ], - "src": "12062:249:15" - } - ] - }, - "contents": "{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function copy_memory_to_memory(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value3 := memPtr\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"ERC721: approved query for nonex\")\n mstore(add(headStart, 96), \"istent token\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 56)\n mstore(add(headStart, 64), \"ERC721: approve caller is not ow\")\n mstore(add(headStart, 96), \"ner nor approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 49)\n mstore(add(headStart, 64), \"ERC721: transfer caller is not o\")\n mstore(add(headStart, 96), \"wner nor approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: owner query for nonexist\")\n mstore(add(headStart, 96), \"ent token\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"ERC721: balance query for the ze\")\n mstore(add(headStart, 96), \"ro address\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"ERC721Metadata: URI query for no\")\n mstore(add(headStart, 96), \"nexistent token\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\n }\n function abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"ERC721: operator query for nonex\")\n mstore(add(headStart, 96), \"istent token\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: transfer of token that i\")\n mstore(add(headStart, 96), \"s not own\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n}", - "id": 15, - "language": "Yul", - "name": "#utility.yul" - } - ], - "sourceMap": "613:13006:1:-:0;;;1375:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1441:13;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1464:17:1;;;;:7;;:17;;;;;:::i;:::-;;1375:113;;613:13006;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;613:13006:1;;;-1:-1:-1;613:13006:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:15;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:15;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:15;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:15:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:15;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;:::-;613:13006:1;;;;;;", - "deployedSourceMap": "613:13006:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1555:300;;;;;;:::i;:::-;;:::i;:::-;;;565:14:15;;558:22;540:41;;528:2;513:18;1555:300:1;;;;;;;;2473:98;;;:::i;:::-;;;;;;;:::i;3984:217::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:15;;;1674:51;;1662:2;1647:18;3984:217:1;1528:203:15;3522:401:1;;;;;;:::i;:::-;;:::i;:::-;;4711:330;;;;;;:::i;:::-;;:::i;5107:179::-;;;;;;:::i;:::-;;:::i;2176:235::-;;;;;;:::i;:::-;;:::i;1914:205::-;;;;;;:::i;:::-;;:::i;:::-;;;2843:25:15;;;2831:2;2816:18;1914:205:1;2697:177:15;2635:102:1;;;:::i;4268:153::-;;;;;;:::i;:::-;;:::i;5352:320::-;;;;;;:::i;:::-;;:::i;2803:329::-;;;;;;:::i;:::-;;:::i;4487:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4607:25:1;;;4584:4;4607:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4487:162;1555:300;1657:4;-1:-1:-1;;;;;;1692:40:1;;-1:-1:-1;;;1692:40:1;;:104;;-1:-1:-1;;;;;;;1748:48:1;;-1:-1:-1;;;1748:48:1;1692:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:10;;;1812:36:1;1673:175;1555:300;-1:-1:-1;;1555:300:1:o;2473:98::-;2527:13;2559:5;2552:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2473:98;:::o;3984:217::-;4060:7;7232:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7232:16:1;4079:73;;;;-1:-1:-1;;;4079:73:1;;5358:2:15;4079:73:1;;;5340:21:15;5397:2;5377:18;;;5370:30;5436:34;5416:18;;;5409:62;-1:-1:-1;;;5487:18:15;;;5480:42;5539:19;;4079:73:1;;;;;;;;;-1:-1:-1;4170:24:1;;;;:15;:24;;;;;;-1:-1:-1;;;;;4170:24:1;;3984:217::o;3522:401::-;3602:13;3618:23;3633:7;3618:14;:23::i;:::-;3602:39;;3665:5;-1:-1:-1;;;;;3659:11:1;:2;-1:-1:-1;;;;;3659:11:1;;;3651:57;;;;-1:-1:-1;;;3651:57:1;;5771:2:15;3651:57:1;;;5753:21:15;5810:2;5790:18;;;5783:30;5849:34;5829:18;;;5822:62;-1:-1:-1;;;5900:18:15;;;5893:31;5941:19;;3651:57:1;5569:397:15;3651:57:1;719:10:7;-1:-1:-1;;;;;3740:21:1;;;;:62;;-1:-1:-1;3765:37:1;3782:5;719:10:7;4487:162:1;:::i;3765:37::-;3719:165;;;;-1:-1:-1;;;3719:165:1;;6173:2:15;3719:165:1;;;6155:21:15;6212:2;6192:18;;;6185:30;6251:34;6231:18;;;6224:62;6322:26;6302:18;;;6295:54;6366:19;;3719:165:1;5971:420:15;3719:165:1;3895:21;3904:2;3908:7;3895:8;:21::i;:::-;3592:331;3522:401;;:::o;4711:330::-;4900:41;719:10:7;4933:7:1;4900:18;:41::i;:::-;4892:103;;;;-1:-1:-1;;;4892:103:1;;;;;;;:::i;:::-;5006:28;5016:4;5022:2;5026:7;5006:9;:28::i;5107:179::-;5240:39;5257:4;5263:2;5267:7;5240:39;;;;;;;;;;;;:16;:39::i;2176:235::-;2248:7;2283:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2283:16:1;2317:19;2309:73;;;;-1:-1:-1;;;2309:73:1;;7016:2:15;2309:73:1;;;6998:21:15;7055:2;7035:18;;;7028:30;7094:34;7074:18;;;7067:62;-1:-1:-1;;;7145:18:15;;;7138:39;7194:19;;2309:73:1;6814:405:15;1914:205:1;1986:7;-1:-1:-1;;;;;2013:19:1;;2005:74;;;;-1:-1:-1;;;2005:74:1;;7426:2:15;2005:74:1;;;7408:21:15;7465:2;7445:18;;;7438:30;7504:34;7484:18;;;7477:62;-1:-1:-1;;;7555:18:15;;;7548:40;7605:19;;2005:74:1;7224:406:15;2005:74:1;-1:-1:-1;;;;;;2096:16:1;;;;;:9;:16;;;;;;;1914:205::o;2635:102::-;2691:13;2723:7;2716:14;;;;;:::i;4268:153::-;4362:52;719:10:7;4395:8:1;4405;4362:18;:52::i;:::-;4268:153;;:::o;5352:320::-;5521:41;719:10:7;5554:7:1;5521:18;:41::i;:::-;5513:103;;;;-1:-1:-1;;;5513:103:1;;;;;;;:::i;:::-;5626:39;5640:4;5646:2;5650:7;5659:5;5626:13;:39::i;:::-;5352:320;;;;:::o;2803:329::-;7209:4;7232:16;;;:7;:16;;;;;;2876:13;;-1:-1:-1;;;;;7232:16:1;2901:76;;;;-1:-1:-1;;;2901:76:1;;7837:2:15;2901:76:1;;;7819:21:15;7876:2;7856:18;;;7849:30;7915:34;7895:18;;;7888:62;-1:-1:-1;;;7966:18:15;;;7959:45;8021:19;;2901:76:1;7635:411:15;2901:76:1;2988:21;3012:10;3449:9;;;;;;;;;-1:-1:-1;3449:9:1;;;3373:92;3012:10;2988:34;;3063:1;3045:7;3039:21;:25;:86;;;;;;;;;;;;;;;;;3091:7;3100:18;:7;:16;:18::i;:::-;3074:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3039:86;3032:93;2803:329;-1:-1:-1;;;2803:329:1:o;10995:171::-;11069:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;11069:29:1;-1:-1:-1;;;;;11069:29:1;;;;;;;;:24;;11122:23;11069:24;11122:14;:23::i;:::-;-1:-1:-1;;;;;11113:46:1;;;;;;;;;;;10995:171;;:::o;7427:344::-;7520:4;7232:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7232:16:1;7536:73;;;;-1:-1:-1;;;7536:73:1;;8728:2:15;7536:73:1;;;8710:21:15;8767:2;8747:18;;;8740:30;8806:34;8786:18;;;8779:62;-1:-1:-1;;;8857:18:15;;;8850:42;8909:19;;7536:73:1;8526:408:15;7536:73:1;7619:13;7635:23;7650:7;7635:14;:23::i;:::-;7619:39;;7687:5;-1:-1:-1;;;;;7676:16:1;:7;-1:-1:-1;;;;;7676:16:1;;:51;;;;7720:7;-1:-1:-1;;;;;7696:31:1;:20;7708:7;7696:11;:20::i;:::-;-1:-1:-1;;;;;7696:31:1;;7676:51;:87;;;-1:-1:-1;;;;;;4607:25:1;;;4584:4;4607:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7731:32;7668:96;7427:344;-1:-1:-1;;;;7427:344:1:o;10324:560::-;10478:4;-1:-1:-1;;;;;10451:31:1;:23;10466:7;10451:14;:23::i;:::-;-1:-1:-1;;;;;10451:31:1;;10443:85;;;;-1:-1:-1;;;10443:85:1;;9141:2:15;10443:85:1;;;9123:21:15;9180:2;9160:18;;;9153:30;9219:34;9199:18;;;9192:62;-1:-1:-1;;;9270:18:15;;;9263:39;9319:19;;10443:85:1;8939:405:15;10443:85:1;-1:-1:-1;;;;;10546:16:1;;10538:65;;;;-1:-1:-1;;;10538:65:1;;9551:2:15;10538:65:1;;;9533:21:15;9590:2;9570:18;;;9563:30;9629:34;9609:18;;;9602:62;-1:-1:-1;;;9680:18:15;;;9673:34;9724:19;;10538:65:1;9349:400:15;10538:65:1;10715:29;10732:1;10736:7;10715:8;:29::i;:::-;-1:-1:-1;;;;;10755:15:1;;;;;;:9;:15;;;;;:20;;10774:1;;10755:15;:20;;10774:1;;10755:20;:::i;:::-;;;;-1:-1:-1;;;;;;;10785:13:1;;;;;;:9;:13;;;;;:18;;10802:1;;10785:13;:18;;10802:1;;10785:18;:::i;:::-;;;;-1:-1:-1;;10813:16:1;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;10813:21:1;-1:-1:-1;;;;;10813:21:1;;;;;;;;;10850:27;;10813:16;;10850:27;;;;;;;10324:560;;;:::o;11301:307::-;11451:8;-1:-1:-1;;;;;11442:17:1;:5;-1:-1:-1;;;;;11442:17:1;;;11434:55;;;;-1:-1:-1;;;11434:55:1;;10351:2:15;11434:55:1;;;10333:21:15;10390:2;10370:18;;;10363:30;10429:27;10409:18;;;10402:55;10474:18;;11434:55:1;10149:349:15;11434:55:1;-1:-1:-1;;;;;11499:25:1;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;11499:46:1;;;;;;;;;;11560:41;;540::15;;;11560::1;;513:18:15;11560:41:1;;;;;;;11301:307;;;:::o;6534:::-;6685:28;6695:4;6701:2;6705:7;6685:9;:28::i;:::-;6731:48;6754:4;6760:2;6764:7;6773:5;6731:22;:48::i;:::-;6723:111;;;;-1:-1:-1;;;6723:111:1;;;;;;;:::i;328:703:9:-;384:13;601:10;597:51;;-1:-1:-1;;627:10:9;;;;;;;;;;;;-1:-1:-1;;;627:10:9;;;;;328:703::o;597:51::-;672:5;657:12;711:75;718:9;;711:75;;743:8;;;;:::i;:::-;;-1:-1:-1;765:10:9;;-1:-1:-1;773:2:9;765:10;;:::i;:::-;;;711:75;;;795:19;827:6;817:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:17:9;;795:39;;844:150;851:10;;844:150;;877:11;887:1;877:11;;:::i;:::-;;-1:-1:-1;945:10:9;953:2;945:5;:10;:::i;:::-;932:24;;:2;:24;:::i;:::-;919:39;;902:6;909;902:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;902:56:9;;;;;;;;-1:-1:-1;972:11:9;981:2;972:11;;:::i;:::-;;;844:150;;12161:778:1;12311:4;-1:-1:-1;;;;;12331:13:1;;1087:20:6;1133:8;12327:606:1;;12366:72;;-1:-1:-1;;;12366:72:1;;-1:-1:-1;;;;;12366:36:1;;;;;:72;;719:10:7;;12417:4:1;;12423:7;;12432:5;;12366:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12366:72:1;;;;;;;;-1:-1:-1;;12366:72:1;;;;;;;;;;;;:::i;:::-;;;12362:519;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12605:13:1;;12601:266;;12647:60;;-1:-1:-1;;;12647:60:1;;;;;;;:::i;12601:266::-;12819:6;12813:13;12804:6;12800:2;12796:15;12789:38;12362:519;-1:-1:-1;;;;;;12488:51:1;-1:-1:-1;;;12488:51:1;;-1:-1:-1;12481:58:1;;12327:606;-1:-1:-1;12918:4:1;12161:778;;;;;;:::o;14:131:15:-;-1:-1:-1;;;;;;88:32:15;;78:43;;68:71;;135:1;132;125:12;68:71;14:131;:::o;150:245::-;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:15;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:15;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:15:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:15;;1343:180;-1:-1:-1;1343:180:15:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:15;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:15:o;2173:328::-;2250:6;2258;2266;2319:2;2307:9;2298:7;2294:23;2290:32;2287:52;;;2335:1;2332;2325:12;2287:52;2358:29;2377:9;2358:29;:::i;:::-;2348:39;;2406:38;2440:2;2429:9;2425:18;2406:38;:::i;:::-;2396:48;;2491:2;2480:9;2476:18;2463:32;2453:42;;2173:328;;;;;:::o;2506:186::-;2565:6;2618:2;2606:9;2597:7;2593:23;2589:32;2586:52;;;2634:1;2631;2624:12;2586:52;2657:29;2676:9;2657:29;:::i;2879:347::-;2944:6;2952;3005:2;2993:9;2984:7;2980:23;2976:32;2973:52;;;3021:1;3018;3011:12;2973:52;3044:29;3063:9;3044:29;:::i;:::-;3034:39;;3123:2;3112:9;3108:18;3095:32;3170:5;3163:13;3156:21;3149:5;3146:32;3136:60;;3192:1;3189;3182:12;3136:60;3215:5;3205:15;;;2879:347;;;;;:::o;3231:127::-;3292:10;3287:3;3283:20;3280:1;3273:31;3323:4;3320:1;3313:15;3347:4;3344:1;3337:15;3363:1138;3458:6;3466;3474;3482;3535:3;3523:9;3514:7;3510:23;3506:33;3503:53;;;3552:1;3549;3542:12;3503:53;3575:29;3594:9;3575:29;:::i;:::-;3565:39;;3623:38;3657:2;3646:9;3642:18;3623:38;:::i;:::-;3613:48;;3708:2;3697:9;3693:18;3680:32;3670:42;;3763:2;3752:9;3748:18;3735:32;3786:18;3827:2;3819:6;3816:14;3813:34;;;3843:1;3840;3833:12;3813:34;3881:6;3870:9;3866:22;3856:32;;3926:7;3919:4;3915:2;3911:13;3907:27;3897:55;;3948:1;3945;3938:12;3897:55;3984:2;3971:16;4006:2;4002;3999:10;3996:36;;;4012:18;;:::i;:::-;4087:2;4081:9;4055:2;4141:13;;-1:-1:-1;;4137:22:15;;;4161:2;4133:31;4129:40;4117:53;;;4185:18;;;4205:22;;;4182:46;4179:72;;;4231:18;;:::i;:::-;4271:10;4267:2;4260:22;4306:2;4298:6;4291:18;4346:7;4341:2;4336;4332;4328:11;4324:20;4321:33;4318:53;;;4367:1;4364;4357:12;4318:53;4423:2;4418;4414;4410:11;4405:2;4397:6;4393:15;4380:46;4468:1;4463:2;4458;4450:6;4446:15;4442:24;4435:35;4489:6;4479:16;;;;;;;3363:1138;;;;;;;:::o;4506:260::-;4574:6;4582;4635:2;4623:9;4614:7;4610:23;4606:32;4603:52;;;4651:1;4648;4641:12;4603:52;4674:29;4693:9;4674:29;:::i;:::-;4664:39;;4722:38;4756:2;4745:9;4741:18;4722:38;:::i;:::-;4712:48;;4506:260;;;;;:::o;4771:380::-;4850:1;4846:12;;;;4893;;;4914:61;;4968:4;4960:6;4956:17;4946:27;;4914:61;5021:2;5013:6;5010:14;4990:18;4987:38;4984:161;;;5067:10;5062:3;5058:20;5055:1;5048:31;5102:4;5099:1;5092:15;5130:4;5127:1;5120:15;4984:161;;4771:380;;;:::o;6396:413::-;6598:2;6580:21;;;6637:2;6617:18;;;6610:30;6676:34;6671:2;6656:18;;6649:62;-1:-1:-1;;;6742:2:15;6727:18;;6720:47;6799:3;6784:19;;6396:413::o;8051:470::-;8230:3;8268:6;8262:13;8284:53;8330:6;8325:3;8318:4;8310:6;8306:17;8284:53;:::i;:::-;8400:13;;8359:16;;;;8422:57;8400:13;8359:16;8456:4;8444:17;;8422:57;:::i;:::-;8495:20;;8051:470;-1:-1:-1;;;;8051:470:15:o;9754:127::-;9815:10;9810:3;9806:20;9803:1;9796:31;9846:4;9843:1;9836:15;9870:4;9867:1;9860:15;9886:125;9926:4;9954:1;9951;9948:8;9945:34;;;9959:18;;:::i;:::-;-1:-1:-1;9996:9:15;;9886:125::o;10016:128::-;10056:3;10087:1;10083:6;10080:1;10077:13;10074:39;;;10093:18;;:::i;:::-;-1:-1:-1;10129:9:15;;10016:128::o;10503:414::-;10705:2;10687:21;;;10744:2;10724:18;;;10717:30;10783:34;10778:2;10763:18;;10756:62;-1:-1:-1;;;10849:2:15;10834:18;;10827:48;10907:3;10892:19;;10503:414::o;10922:135::-;10961:3;-1:-1:-1;;10982:17:15;;10979:43;;;11002:18;;:::i;:::-;-1:-1:-1;11049:1:15;11038:13;;10922:135::o;11062:127::-;11123:10;11118:3;11114:20;11111:1;11104:31;11154:4;11151:1;11144:15;11178:4;11175:1;11168:15;11194:120;11234:1;11260;11250:35;;11265:18;;:::i;:::-;-1:-1:-1;11299:9:15;;11194:120::o;11319:112::-;11351:1;11377;11367:35;;11382:18;;:::i;:::-;-1:-1:-1;11416:9:15;;11319:112::o;11436:127::-;11497:10;11492:3;11488:20;11485:1;11478:31;11528:4;11525:1;11518:15;11552:4;11549:1;11542:15;11568:489;-1:-1:-1;;;;;11837:15:15;;;11819:34;;11889:15;;11884:2;11869:18;;11862:43;11936:2;11921:18;;11914:34;;;11984:3;11979:2;11964:18;;11957:31;;;11762:4;;12005:46;;12031:19;;12023:6;12005:46;:::i;:::-;11997:54;11568:489;-1:-1:-1;;;;;;11568:489:15:o;12062:249::-;12131:6;12184:2;12172:9;12163:7;12159:23;12155:32;12152:52;;;12200:1;12197;12190:12;12152:52;12232:9;12226:16;12251:30;12275:5;12251:30;:::i", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/ERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC721.sol\";\nimport \"./IERC721Receiver.sol\";\nimport \"./extensions/IERC721Metadata.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/Context.sol\";\nimport \"../../utils/Strings.sol\";\nimport \"../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n * the Metadata extension, but not including the Enumerable extension, which is available separately as\n * {ERC721Enumerable}.\n */\ncontract ERC721 is Context, ERC165, IERC721, IERC721Metadata {\n using Address for address;\n using Strings for uint256;\n\n // Token name\n string private _name;\n\n // Token symbol\n string private _symbol;\n\n // Mapping from token ID to owner address\n mapping(uint256 => address) private _owners;\n\n // Mapping owner address to token count\n mapping(address => uint256) private _balances;\n\n // Mapping from token ID to approved address\n mapping(uint256 => address) private _tokenApprovals;\n\n // Mapping from owner to operator approvals\n mapping(address => mapping(address => bool)) private _operatorApprovals;\n\n /**\n * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return\n interfaceId == type(IERC721).interfaceId ||\n interfaceId == type(IERC721Metadata).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC721-balanceOf}.\n */\n function balanceOf(address owner) public view virtual override returns (uint256) {\n require(owner != address(0), \"ERC721: balance query for the zero address\");\n return _balances[owner];\n }\n\n /**\n * @dev See {IERC721-ownerOf}.\n */\n function ownerOf(uint256 tokenId) public view virtual override returns (address) {\n address owner = _owners[tokenId];\n require(owner != address(0), \"ERC721: owner query for nonexistent token\");\n return owner;\n }\n\n /**\n * @dev See {IERC721Metadata-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IERC721Metadata-symbol}.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n require(_exists(tokenId), \"ERC721Metadata: URI query for nonexistent token\");\n\n string memory baseURI = _baseURI();\n return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : \"\";\n }\n\n /**\n * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n * token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n * by default, can be overriden in child contracts.\n */\n function _baseURI() internal view virtual returns (string memory) {\n return \"\";\n }\n\n /**\n * @dev See {IERC721-approve}.\n */\n function approve(address to, uint256 tokenId) public virtual override {\n address owner = ERC721.ownerOf(tokenId);\n require(to != owner, \"ERC721: approval to current owner\");\n\n require(\n _msgSender() == owner || isApprovedForAll(owner, _msgSender()),\n \"ERC721: approve caller is not owner nor approved for all\"\n );\n\n _approve(to, tokenId);\n }\n\n /**\n * @dev See {IERC721-getApproved}.\n */\n function getApproved(uint256 tokenId) public view virtual override returns (address) {\n require(_exists(tokenId), \"ERC721: approved query for nonexistent token\");\n\n return _tokenApprovals[tokenId];\n }\n\n /**\n * @dev See {IERC721-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual override {\n _setApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC721-isApprovedForAll}.\n */\n function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {\n return _operatorApprovals[owner][operator];\n }\n\n /**\n * @dev See {IERC721-transferFrom}.\n */\n function transferFrom(\n address from,\n address to,\n uint256 tokenId\n ) public virtual override {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: transfer caller is not owner nor approved\");\n\n _transfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId\n ) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId,\n bytes memory _data\n ) public virtual override {\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: transfer caller is not owner nor approved\");\n _safeTransfer(from, to, tokenId, _data);\n }\n\n /**\n * @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 *\n * `_data` is additional data, it has no specified format and it is sent in call to `to`.\n *\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n * implement alternative mechanisms to perform token transfer, such as signature-based.\n *\n * Requirements:\n *\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 `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeTransfer(\n address from,\n address to,\n uint256 tokenId,\n bytes memory _data\n ) internal virtual {\n _transfer(from, to, tokenId);\n require(_checkOnERC721Received(from, to, tokenId, _data), \"ERC721: transfer to non ERC721Receiver implementer\");\n }\n\n /**\n * @dev Returns whether `tokenId` exists.\n *\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n *\n * Tokens start existing when they are minted (`_mint`),\n * and stop existing when they are burned (`_burn`).\n */\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _owners[tokenId] != address(0);\n }\n\n /**\n * @dev Returns whether `spender` is allowed to manage `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {\n require(_exists(tokenId), \"ERC721: operator query for nonexistent token\");\n address owner = ERC721.ownerOf(tokenId);\n return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender));\n }\n\n /**\n * @dev Safely mints `tokenId` and transfers it to `to`.\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeMint(address to, uint256 tokenId) internal virtual {\n _safeMint(to, tokenId, \"\");\n }\n\n /**\n * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n * forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\n */\n function _safeMint(\n address to,\n uint256 tokenId,\n bytes memory _data\n ) internal virtual {\n _mint(to, tokenId);\n require(\n _checkOnERC721Received(address(0), to, tokenId, _data),\n \"ERC721: transfer to non ERC721Receiver implementer\"\n );\n }\n\n /**\n * @dev Mints `tokenId` and transfers it to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - `to` cannot be the zero address.\n *\n * Emits a {Transfer} event.\n */\n function _mint(address to, uint256 tokenId) internal virtual {\n require(to != address(0), \"ERC721: mint to the zero address\");\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n _beforeTokenTransfer(address(0), to, tokenId);\n\n _balances[to] += 1;\n _owners[tokenId] = to;\n\n emit Transfer(address(0), to, tokenId);\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n *\n * Emits a {Transfer} event.\n */\n function _burn(uint256 tokenId) internal virtual {\n address owner = ERC721.ownerOf(tokenId);\n\n _beforeTokenTransfer(owner, address(0), tokenId);\n\n // Clear approvals\n _approve(address(0), tokenId);\n\n _balances[owner] -= 1;\n delete _owners[tokenId];\n\n emit Transfer(owner, address(0), tokenId);\n }\n\n /**\n * @dev Transfers `tokenId` from `from` to `to`.\n * As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n *\n * Emits a {Transfer} event.\n */\n function _transfer(\n address from,\n address to,\n uint256 tokenId\n ) internal virtual {\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer of token that is not own\");\n require(to != address(0), \"ERC721: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, tokenId);\n\n // Clear approvals from the previous owner\n _approve(address(0), tokenId);\n\n _balances[from] -= 1;\n _balances[to] += 1;\n _owners[tokenId] = to;\n\n emit Transfer(from, to, tokenId);\n }\n\n /**\n * @dev Approve `to` to operate on `tokenId`\n *\n * Emits a {Approval} event.\n */\n function _approve(address to, uint256 tokenId) internal virtual {\n _tokenApprovals[tokenId] = to;\n emit Approval(ERC721.ownerOf(tokenId), to, tokenId);\n }\n\n /**\n * @dev Approve `operator` to operate on all of `owner` tokens\n *\n * Emits a {ApprovalForAll} event.\n */\n function _setApprovalForAll(\n address owner,\n address operator,\n bool approved\n ) internal virtual {\n require(owner != operator, \"ERC721: approve to caller\");\n _operatorApprovals[owner][operator] = approved;\n emit ApprovalForAll(owner, operator, approved);\n }\n\n /**\n * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n * The call is not executed if the target address is not a contract.\n *\n * @param from address representing the previous owner of the given token ID\n * @param to target address that will receive the tokens\n * @param tokenId uint256 ID of the token to be transferred\n * @param _data bytes optional data to send along with the call\n * @return bool whether the call correctly returned the expected magic value\n */\n function _checkOnERC721Received(\n address from,\n address to,\n uint256 tokenId,\n bytes memory _data\n ) private returns (bool) {\n if (to.isContract()) {\n try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) {\n return retval == IERC721Receiver.onERC721Received.selector;\n } catch (bytes memory reason) {\n if (reason.length == 0) {\n revert(\"ERC721: transfer to non ERC721Receiver implementer\");\n } else {\n assembly {\n revert(add(32, reason), mload(reason))\n }\n }\n }\n } else {\n return true;\n }\n }\n\n /**\n * @dev Hook that is called before any token transfer. This includes minting\n * and burning.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be\n * transferred to `to`.\n * - When `from` is zero, `tokenId` will be minted for `to`.\n * - When `to` is zero, ``from``'s `tokenId` will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 tokenId\n ) internal virtual {}\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "exportedSymbols": { - "Address": [ - 1521 - ], - "Context": [ - 1543 - ], - "ERC165": [ - 1844 - ], - "ERC721": [ - 935 - ], - "IERC165": [ - 1856 - ], - "IERC721": [ - 1051 - ], - "IERC721Metadata": [ - 1224 - ], - "IERC721Receiver": [ - 1069 - ], - "Strings": [ - 1820 - ] - }, - "id": 936, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 106, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "92:23:1" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 107, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1052, - "src": "117:23:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "./IERC721Receiver.sol", - "id": 108, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1070, - "src": "141:31:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", - "file": "./extensions/IERC721Metadata.sol", - "id": 109, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1225, - "src": "173:42:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 110, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1522, - "src": "216:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 111, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1544, - "src": "250:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "../../utils/Strings.sol", - "id": 112, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1821, - "src": "284:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "file": "../../utils/introspection/ERC165.sol", - "id": 113, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1845, - "src": "318:46:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 115, - "name": "Context", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1543, - "src": "632:7:1" - }, - "id": 116, - "nodeType": "InheritanceSpecifier", - "src": "632:7:1" - }, - { - "baseName": { - "id": 117, - "name": "ERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1844, - "src": "641:6:1" - }, - "id": 118, - "nodeType": "InheritanceSpecifier", - "src": "641:6:1" - }, - { - "baseName": { - "id": 119, - "name": "IERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1051, - "src": "649:7:1" - }, - "id": 120, - "nodeType": "InheritanceSpecifier", - "src": "649:7:1" - }, - { - "baseName": { - "id": 121, - "name": "IERC721Metadata", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1224, - "src": "658:15:1" - }, - "id": 122, - "nodeType": "InheritanceSpecifier", - "src": "658:15:1" - } - ], - "canonicalName": "ERC721", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 114, - "nodeType": "StructuredDocumentation", - "src": "366:246:1", - "text": " @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}." - }, - "fullyImplemented": true, - "id": 935, - "linearizedBaseContracts": [ - 935, - 1224, - 1051, - 1844, - 1856, - 1543 - ], - "name": "ERC721", - "nameLocation": "622:6:1", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 125, - "libraryName": { - "id": 123, - "name": "Address", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1521, - "src": "686:7:1" - }, - "nodeType": "UsingForDirective", - "src": "680:26:1", - "typeName": { - "id": 124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "698:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 128, - "libraryName": { - "id": 126, - "name": "Strings", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1820, - "src": "717:7:1" - }, - "nodeType": "UsingForDirective", - "src": "711:26:1", - "typeName": { - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 130, - "mutability": "mutable", - "name": "_name", - "nameLocation": "776:5:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "761:20:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 129, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "761:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 132, - "mutability": "mutable", - "name": "_symbol", - "nameLocation": "823:7:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "808:22:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 131, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "808:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 136, - "mutability": "mutable", - "name": "_owners", - "nameLocation": "919:7:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "883:43:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 135, - "keyType": { - "id": 133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "891:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "883:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "902:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 140, - "mutability": "mutable", - "name": "_balances", - "nameLocation": "1013:9:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "977:45:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 139, - "keyType": { - "id": 137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "985:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "977:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "996:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 144, - "mutability": "mutable", - "name": "_tokenApprovals", - "nameLocation": "1114:15:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "1078:51:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 143, - "keyType": { - "id": 141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1078:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 142, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1097:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 150, - "mutability": "mutable", - "name": "_operatorApprovals", - "nameLocation": "1237:18:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "1184:71:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 149, - "keyType": { - "id": 145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1192:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1184:44:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 148, - "keyType": { - "id": 146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1211:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1203:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 147, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1222:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "visibility": "private" - }, - { - "body": { - "id": 166, - "nodeType": "Block", - "src": "1431:57:1", - "statements": [ - { - "expression": { - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 158, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1441:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 159, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "1449:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1441:13:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 161, - "nodeType": "ExpressionStatement", - "src": "1441:13:1" - }, - { - "expression": { - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 162, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "1464:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 163, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 155, - "src": "1474:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1464:17:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 165, - "nodeType": "ExpressionStatement", - "src": "1464:17:1" - } - ] - }, - "documentation": { - "id": 151, - "nodeType": "StructuredDocumentation", - "src": "1262:108:1", - "text": " @dev Initializes the contract by setting a `name` and a `symbol` to the token collection." - }, - "id": 167, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 153, - "mutability": "mutable", - "name": "name_", - "nameLocation": "1401:5:1", - "nodeType": "VariableDeclaration", - "scope": 167, - "src": "1387:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 152, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1387:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 155, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "1422:7:1", - "nodeType": "VariableDeclaration", - "scope": 167, - "src": "1408:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 154, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1408:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1386:44:1" - }, - "returnParameters": { - "id": 157, - "nodeType": "ParameterList", - "parameters": [], - "src": "1431:0:1" - }, - "scope": 935, - "src": "1375:113:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 1843, - 1855 - ], - "body": { - "id": 197, - "nodeType": "Block", - "src": "1663:192:1", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 178, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 170, - "src": "1692:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 180, - "name": "IERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1051, - "src": "1712:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721_$1051_$", - "typeString": "type(contract IERC721)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC721_$1051_$", - "typeString": "type(contract IERC721)" - } - ], - "id": 179, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "1707:4:1", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1707:13:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$1051", - "typeString": "type(contract IERC721)" - } - }, - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1707:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1692:40:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 184, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 170, - "src": "1748:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 186, - "name": "IERC721Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1224, - "src": "1768:15:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1224_$", - "typeString": "type(contract IERC721Metadata)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1224_$", - "typeString": "type(contract IERC721Metadata)" - } - ], - "id": 185, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "1763:4:1", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1763:21:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$1224", - "typeString": "type(contract IERC721Metadata)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1763:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1748:48:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1692:104:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 193, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 170, - "src": "1836:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 191, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1812:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721_$935_$", - "typeString": "type(contract super ERC721)" - } - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 1843, - "src": "1812:23:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1812:36:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1692:156:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 177, - "id": 196, - "nodeType": "Return", - "src": "1673:175:1" - } - ] - }, - "documentation": { - "id": 168, - "nodeType": "StructuredDocumentation", - "src": "1494:56:1", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 198, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "1564:17:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 174, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 172, - "name": "ERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1844, - "src": "1631:6:1" - }, - { - "id": 173, - "name": "IERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1856, - "src": "1639:7:1" - } - ], - "src": "1622:25:1" - }, - "parameters": { - "id": 171, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 170, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "1589:11:1", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "1582:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 169, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1582:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1581:20:1" - }, - "returnParameters": { - "id": 177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 176, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "1657:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 175, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1657:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1656:6:1" - }, - "scope": 935, - "src": "1555:300:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 976 - ], - "body": { - "id": 221, - "nodeType": "Block", - "src": "1995:124:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 208, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "2013:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2030:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2022:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2022:7:1", - "typeDescriptions": {} - } - }, - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2022:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2013:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373", - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2034:44:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - }, - "value": "ERC721: balance query for the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - } - ], - "id": 207, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2005:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2005:74:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 216, - "nodeType": "ExpressionStatement", - "src": "2005:74:1" - }, - { - "expression": { - "baseExpression": { - "id": 217, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2096:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 219, - "indexExpression": { - "id": 218, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "2106:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2096:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 206, - "id": 220, - "nodeType": "Return", - "src": "2089:23:1" - } - ] - }, - "documentation": { - "id": 199, - "nodeType": "StructuredDocumentation", - "src": "1861:48:1", - "text": " @dev See {IERC721-balanceOf}." - }, - "functionSelector": "70a08231", - "id": 222, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "1923:9:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 203, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1968:8:1" - }, - "parameters": { - "id": 202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 201, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1941:5:1", - "nodeType": "VariableDeclaration", - "scope": 222, - "src": "1933:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1933:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1932:15:1" - }, - "returnParameters": { - "id": 206, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 205, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 222, - "src": "1986:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 204, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1986:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1985:9:1" - }, - "scope": 935, - "src": "1914:205:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 984 - ], - "body": { - "id": 249, - "nodeType": "Block", - "src": "2257:154:1", - "statements": [ - { - "assignments": [ - 232 - ], - "declarations": [ - { - "constant": false, - "id": 232, - "mutability": "mutable", - "name": "owner", - "nameLocation": "2275:5:1", - "nodeType": "VariableDeclaration", - "scope": 249, - "src": "2267:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2267:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 236, - "initialValue": { - "baseExpression": { - "id": 233, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "2283:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 235, - "indexExpression": { - "id": 234, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "2291:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2283:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2267:32:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 238, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 232, - "src": "2317:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2334:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2326:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2326:7:1", - "typeDescriptions": {} - } - }, - "id": 242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2326:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2317:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2338:43:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", - "typeString": "literal_string \"ERC721: owner query for nonexistent token\"" - }, - "value": "ERC721: owner query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", - "typeString": "literal_string \"ERC721: owner query for nonexistent token\"" - } - ], - "id": 237, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2309:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2309:73:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 246, - "nodeType": "ExpressionStatement", - "src": "2309:73:1" - }, - { - "expression": { - "id": 247, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 232, - "src": "2399:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 230, - "id": 248, - "nodeType": "Return", - "src": "2392:12:1" - } - ] - }, - "documentation": { - "id": 223, - "nodeType": "StructuredDocumentation", - "src": "2125:46:1", - "text": " @dev See {IERC721-ownerOf}." - }, - "functionSelector": "6352211e", - "id": 250, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nameLocation": "2185:7:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 227, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2230:8:1" - }, - "parameters": { - "id": 226, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 225, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2201:7:1", - "nodeType": "VariableDeclaration", - "scope": 250, - "src": "2193:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 224, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2193:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2192:17:1" - }, - "returnParameters": { - "id": 230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 229, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 250, - "src": "2248:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 228, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2248:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2247:9:1" - }, - "scope": 935, - "src": "2176:235:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1209 - ], - "body": { - "id": 259, - "nodeType": "Block", - "src": "2542:29:1", - "statements": [ - { - "expression": { - "id": 257, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "2559:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 256, - "id": 258, - "nodeType": "Return", - "src": "2552:12:1" - } - ] - }, - "documentation": { - "id": 251, - "nodeType": "StructuredDocumentation", - "src": "2417:51:1", - "text": " @dev See {IERC721Metadata-name}." - }, - "functionSelector": "06fdde03", - "id": 260, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "2482:4:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 253, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2509:8:1" - }, - "parameters": { - "id": 252, - "nodeType": "ParameterList", - "parameters": [], - "src": "2486:2:1" - }, - "returnParameters": { - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2527:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2527:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2526:15:1" - }, - "scope": 935, - "src": "2473:98:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1215 - ], - "body": { - "id": 269, - "nodeType": "Block", - "src": "2706:31:1", - "statements": [ - { - "expression": { - "id": 267, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "2723:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 266, - "id": 268, - "nodeType": "Return", - "src": "2716:14:1" - } - ] - }, - "documentation": { - "id": 261, - "nodeType": "StructuredDocumentation", - "src": "2577:53:1", - "text": " @dev See {IERC721Metadata-symbol}." - }, - "functionSelector": "95d89b41", - "id": 270, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "2644:6:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 263, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2673:8:1" - }, - "parameters": { - "id": 262, - "nodeType": "ParameterList", - "parameters": [], - "src": "2650:2:1" - }, - "returnParameters": { - "id": 266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 265, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 270, - "src": "2691:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 264, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2691:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2690:15:1" - }, - "scope": 935, - "src": "2635:102:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1223 - ], - "body": { - "id": 311, - "nodeType": "Block", - "src": "2891:241:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 281, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 273, - "src": "2917:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 280, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "2909:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2909:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2927:49:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - }, - "value": "ERC721Metadata: URI query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - } - ], - "id": 279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2901:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2901:76:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 285, - "nodeType": "ExpressionStatement", - "src": "2901:76:1" - }, - { - "assignments": [ - 287 - ], - "declarations": [ - { - "constant": false, - "id": 287, - "mutability": "mutable", - "name": "baseURI", - "nameLocation": "3002:7:1", - "nodeType": "VariableDeclaration", - "scope": 311, - "src": "2988:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 286, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2988:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 290, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 288, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 321, - "src": "3012:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3012:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2988:34:1" - }, - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 293, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3045:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3039:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 291, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3039:5:1", - "typeDescriptions": {} - } - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3039:14:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3039:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3063:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3039:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "", - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3123:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3039:86:1", - "trueExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 302, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3091:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 303, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 273, - "src": "3100:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 1702, - "src": "3100:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3100:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 300, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "3074:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3074:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3074:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3067:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 298, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3067:6:1", - "typeDescriptions": {} - } - }, - "id": 307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3067:53:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 278, - "id": 310, - "nodeType": "Return", - "src": "3032:93:1" - } - ] - }, - "documentation": { - "id": 271, - "nodeType": "StructuredDocumentation", - "src": "2743:55:1", - "text": " @dev See {IERC721Metadata-tokenURI}." - }, - "functionSelector": "c87b56dd", - "id": 312, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "2812:8:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 275, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2858:8:1" - }, - "parameters": { - "id": 274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 273, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2829:7:1", - "nodeType": "VariableDeclaration", - "scope": 312, - "src": "2821:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2821:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2820:17:1" - }, - "returnParameters": { - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 312, - "src": "2876:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 276, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2876:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2875:15:1" - }, - "scope": 935, - "src": "2803:329:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 320, - "nodeType": "Block", - "src": "3439:26:1", - "statements": [ - { - "expression": { - "hexValue": "", - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3456:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "functionReturnParameters": 317, - "id": 319, - "nodeType": "Return", - "src": "3449:9:1" - } - ] - }, - "documentation": { - "id": 313, - "nodeType": "StructuredDocumentation", - "src": "3138:230:1", - "text": " @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overriden in child contracts." - }, - "id": 321, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseURI", - "nameLocation": "3382:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 314, - "nodeType": "ParameterList", - "parameters": [], - "src": "3390:2:1" - }, - "returnParameters": { - "id": 317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 316, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 321, - "src": "3424:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 315, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3424:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3423:15:1" - }, - "scope": 935, - "src": "3373:92:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 1012 - ], - "body": { - "id": 363, - "nodeType": "Block", - "src": "3592:331:1", - "statements": [ - { - "assignments": [ - 331 - ], - "declarations": [ - { - "constant": false, - "id": 331, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3610:5:1", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3602:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3602:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 336, - "initialValue": { - "arguments": [ - { - "id": 334, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "3633:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 332, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "3618:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$935_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 250, - "src": "3618:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3618:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3602:39:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 338, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 324, - "src": "3659:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 339, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "3665:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3659:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3672:35:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - }, - "value": "ERC721: approval to current owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - } - ], - "id": 337, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3651:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3651:57:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 343, - "nodeType": "ExpressionStatement", - "src": "3651:57:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 345, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "3740:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3740:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 347, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "3756:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3740:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 350, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "3782:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 351, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "3789:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3789:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 349, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 420, - "src": "3765:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3765:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3740:62:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c", - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3816:58:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - }, - "value": "ERC721: approve caller is not owner nor approved for all" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - } - ], - "id": 344, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3719:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3719:165:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 357, - "nodeType": "ExpressionStatement", - "src": "3719:165:1" - }, - { - "expression": { - "arguments": [ - { - "id": 359, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 324, - "src": "3904:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 360, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "3908:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 358, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "3895:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3895:21:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 362, - "nodeType": "ExpressionStatement", - "src": "3895:21:1" - } - ] - }, - "documentation": { - "id": 322, - "nodeType": "StructuredDocumentation", - "src": "3471:46:1", - "text": " @dev See {IERC721-approve}." - }, - "functionSelector": "095ea7b3", - "id": 364, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "3531:7:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 328, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3583:8:1" - }, - "parameters": { - "id": 327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 324, - "mutability": "mutable", - "name": "to", - "nameLocation": "3547:2:1", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "3539:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 323, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3539:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 326, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3559:7:1", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "3551:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 325, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3538:29:1" - }, - "returnParameters": { - "id": 329, - "nodeType": "ParameterList", - "parameters": [], - "src": "3592:0:1" - }, - "scope": 935, - "src": "3522:401:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1020 - ], - "body": { - "id": 384, - "nodeType": "Block", - "src": "4069:132:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 375, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "4095:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 374, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "4087:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4087:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4105:46:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - }, - "value": "ERC721: approved query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - } - ], - "id": 373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4079:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4079:73:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 379, - "nodeType": "ExpressionStatement", - "src": "4079:73:1" - }, - { - "expression": { - "baseExpression": { - "id": 380, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "4170:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 382, - "indexExpression": { - "id": 381, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "4186:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4170:24:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 372, - "id": 383, - "nodeType": "Return", - "src": "4163:31:1" - } - ] - }, - "documentation": { - "id": 365, - "nodeType": "StructuredDocumentation", - "src": "3929:50:1", - "text": " @dev See {IERC721-getApproved}." - }, - "functionSelector": "081812fc", - "id": 385, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nameLocation": "3993:11:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 369, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4042:8:1" - }, - "parameters": { - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4013:7:1", - "nodeType": "VariableDeclaration", - "scope": 385, - "src": "4005:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4005:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4004:17:1" - }, - "returnParameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 371, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 385, - "src": "4060:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 370, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4060:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4059:9:1" - }, - "scope": 935, - "src": "3984:217:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1028 - ], - "body": { - "id": 401, - "nodeType": "Block", - "src": "4352:69:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 395, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "4381:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4381:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 397, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "4395:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 398, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 390, - "src": "4405:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 394, - "name": "_setApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "4362:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4362:52:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 400, - "nodeType": "ExpressionStatement", - "src": "4362:52:1" - } - ] - }, - "documentation": { - "id": 386, - "nodeType": "StructuredDocumentation", - "src": "4207:56:1", - "text": " @dev See {IERC721-setApprovalForAll}." - }, - "functionSelector": "a22cb465", - "id": 402, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nameLocation": "4277:17:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 392, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4343:8:1" - }, - "parameters": { - "id": 391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 388, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4303:8:1", - "nodeType": "VariableDeclaration", - "scope": 402, - "src": "4295:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4295:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 390, - "mutability": "mutable", - "name": "approved", - "nameLocation": "4318:8:1", - "nodeType": "VariableDeclaration", - "scope": 402, - "src": "4313:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 389, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4313:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4294:33:1" - }, - "returnParameters": { - "id": 393, - "nodeType": "ParameterList", - "parameters": [], - "src": "4352:0:1" - }, - "scope": 935, - "src": "4268:153:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1038 - ], - "body": { - "id": 419, - "nodeType": "Block", - "src": "4590:59:1", - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 413, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "4607:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 415, - "indexExpression": { - "id": 414, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "4626:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4607:25:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 417, - "indexExpression": { - "id": 416, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "4633:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4607:35:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 412, - "id": 418, - "nodeType": "Return", - "src": "4600:42:1" - } - ] - }, - "documentation": { - "id": 403, - "nodeType": "StructuredDocumentation", - "src": "4427:55:1", - "text": " @dev See {IERC721-isApprovedForAll}." - }, - "functionSelector": "e985e9c5", - "id": 420, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nameLocation": "4496:16:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 409, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4566:8:1" - }, - "parameters": { - "id": 408, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 405, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4521:5:1", - "nodeType": "VariableDeclaration", - "scope": 420, - "src": "4513:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 404, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4513:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 407, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4536:8:1", - "nodeType": "VariableDeclaration", - "scope": 420, - "src": "4528:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4528:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4512:33:1" - }, - "returnParameters": { - "id": 412, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 411, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 420, - "src": "4584:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 410, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4584:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4583:6:1" - }, - "scope": 935, - "src": "4487:162:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1004 - ], - "body": { - "id": 446, - "nodeType": "Block", - "src": "4830:211:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 433, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "4919:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4919:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 435, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "4933:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 432, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "4900:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4900:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4943:51:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - }, - "value": "ERC721: transfer caller is not owner nor approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - } - ], - "id": 431, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4892:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4892:103:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4892:103:1" - }, - { - "expression": { - "arguments": [ - { - "id": 441, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5016:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 442, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 425, - "src": "5022:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 443, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "5026:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 440, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "5006:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5006:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 445, - "nodeType": "ExpressionStatement", - "src": "5006:28:1" - } - ] - }, - "documentation": { - "id": 421, - "nodeType": "StructuredDocumentation", - "src": "4655:51:1", - "text": " @dev See {IERC721-transferFrom}." - }, - "functionSelector": "23b872dd", - "id": 447, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "4720:12:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 429, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4821:8:1" - }, - "parameters": { - "id": 428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "from", - "nameLocation": "4750:4:1", - "nodeType": "VariableDeclaration", - "scope": 447, - "src": "4742:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 422, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4742:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 425, - "mutability": "mutable", - "name": "to", - "nameLocation": "4772:2:1", - "nodeType": "VariableDeclaration", - "scope": 447, - "src": "4764:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 424, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4764:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 427, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4792:7:1", - "nodeType": "VariableDeclaration", - "scope": 447, - "src": "4784:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 426, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4784:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4732:73:1" - }, - "returnParameters": { - "id": 430, - "nodeType": "ParameterList", - "parameters": [], - "src": "4830:0:1" - }, - "scope": 935, - "src": "4711:330:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 994 - ], - "body": { - "id": 465, - "nodeType": "Block", - "src": "5230:56:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 459, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 450, - "src": "5257:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 460, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "5263:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 461, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "5267:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5276:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 458, - "name": "safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 466, - 496 - ], - "referencedDeclaration": 496, - "src": "5240:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5240:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 464, - "nodeType": "ExpressionStatement", - "src": "5240:39:1" - } - ] - }, - "documentation": { - "id": 448, - "nodeType": "StructuredDocumentation", - "src": "5047:55:1", - "text": " @dev See {IERC721-safeTransferFrom}." - }, - "functionSelector": "42842e0e", - "id": 466, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "5116:16:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 456, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5221:8:1" - }, - "parameters": { - "id": 455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 450, - "mutability": "mutable", - "name": "from", - "nameLocation": "5150:4:1", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "5142:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 449, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5142:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 452, - "mutability": "mutable", - "name": "to", - "nameLocation": "5172:2:1", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "5164:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 451, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 454, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5192:7:1", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "5184:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 453, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5184:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5132:73:1" - }, - "returnParameters": { - "id": 457, - "nodeType": "ParameterList", - "parameters": [], - "src": "5230:0:1" - }, - "scope": 935, - "src": "5107:179:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1050 - ], - "body": { - "id": 495, - "nodeType": "Block", - "src": "5503:169:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 481, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "5540:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5540:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 483, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 473, - "src": "5554:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 480, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "5521:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5521:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5564:51:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - }, - "value": "ERC721: transfer caller is not owner nor approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - } - ], - "id": 479, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5513:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5513:103:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 487, - "nodeType": "ExpressionStatement", - "src": "5513:103:1" - }, - { - "expression": { - "arguments": [ - { - "id": 489, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 469, - "src": "5640:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 490, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "5646:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 491, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 473, - "src": "5650:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 492, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "5659:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 488, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "5626:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5626:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 494, - "nodeType": "ExpressionStatement", - "src": "5626:39:1" - } - ] - }, - "documentation": { - "id": 467, - "nodeType": "StructuredDocumentation", - "src": "5292:55:1", - "text": " @dev See {IERC721-safeTransferFrom}." - }, - "functionSelector": "b88d4fde", - "id": 496, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "5361:16:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 477, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5494:8:1" - }, - "parameters": { - "id": 476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 469, - "mutability": "mutable", - "name": "from", - "nameLocation": "5395:4:1", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "5387:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 468, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5387:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 471, - "mutability": "mutable", - "name": "to", - "nameLocation": "5417:2:1", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "5409:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5409:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 473, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5437:7:1", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "5429:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5429:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 475, - "mutability": "mutable", - "name": "_data", - "nameLocation": "5467:5:1", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "5454:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 474, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5454:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5377:101:1" - }, - "returnParameters": { - "id": 478, - "nodeType": "ParameterList", - "parameters": [], - "src": "5503:0:1" - }, - "scope": 935, - "src": "5352:320:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 524, - "nodeType": "Block", - "src": "6675:166:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 509, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "6695:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 510, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "6701:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 511, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "6705:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 508, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "6685:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6685:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 513, - "nodeType": "ExpressionStatement", - "src": "6685:28:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 516, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "6754:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 517, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "6760:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 518, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "6764:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 519, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "6773:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 515, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 923, - "src": "6731:22:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6731:48:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6781:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 514, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6723:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6723:111:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 523, - "nodeType": "ExpressionStatement", - "src": "6723:111:1" - } - ] - }, - "documentation": { - "id": 497, - "nodeType": "StructuredDocumentation", - "src": "5678:851:1", - "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 `_data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\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 `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." - }, - "id": 525, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nameLocation": "6543:13:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 506, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 499, - "mutability": "mutable", - "name": "from", - "nameLocation": "6574:4:1", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "6566:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6566:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 501, - "mutability": "mutable", - "name": "to", - "nameLocation": "6596:2:1", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "6588:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 500, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 503, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "6616:7:1", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "6608:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6608:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 505, - "mutability": "mutable", - "name": "_data", - "nameLocation": "6646:5:1", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "6633:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 504, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6633:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6556:101:1" - }, - "returnParameters": { - "id": 507, - "nodeType": "ParameterList", - "parameters": [], - "src": "6675:0:1" - }, - "scope": 935, - "src": "6534:307:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 542, - "nodeType": "Block", - "src": "7215:54:1", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 533, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "7232:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 535, - "indexExpression": { - "id": 534, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "7240:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7232:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7260:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7252:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 536, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7252:7:1", - "typeDescriptions": {} - } - }, - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7252:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7232:30:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 532, - "id": 541, - "nodeType": "Return", - "src": "7225:37:1" - } - ] - }, - "documentation": { - "id": 526, - "nodeType": "StructuredDocumentation", - "src": "6847:292:1", - "text": " @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)." - }, - "id": 543, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nameLocation": "7153:7:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 528, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "7169:7:1", - "nodeType": "VariableDeclaration", - "scope": 543, - "src": "7161:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7161:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7160:17:1" - }, - "returnParameters": { - "id": 532, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 531, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 543, - "src": "7209:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 530, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7209:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7208:6:1" - }, - "scope": 935, - "src": "7144:125:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 583, - "nodeType": "Block", - "src": "7526:245:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 555, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "7552:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 554, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "7544:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7544:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7562:46:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "typeString": "literal_string \"ERC721: operator query for nonexistent token\"" - }, - "value": "ERC721: operator query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "typeString": "literal_string \"ERC721: operator query for nonexistent token\"" - } - ], - "id": 553, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7536:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7536:73:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 559, - "nodeType": "ExpressionStatement", - "src": "7536:73:1" - }, - { - "assignments": [ - 561 - ], - "declarations": [ - { - "constant": false, - "id": 561, - "mutability": "mutable", - "name": "owner", - "nameLocation": "7627:5:1", - "nodeType": "VariableDeclaration", - "scope": 583, - "src": "7619:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7619:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 566, - "initialValue": { - "arguments": [ - { - "id": 564, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "7650:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 562, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "7635:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$935_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 250, - "src": "7635:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7635:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7619:39:1" - }, - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 567, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 546, - "src": "7676:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 568, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 561, - "src": "7687:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7676:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 571, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "7708:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 570, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "7696:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7696:20:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 573, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 546, - "src": "7720:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7696:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7676:51:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 577, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 561, - "src": "7748:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 578, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 546, - "src": "7755:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 576, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 420, - "src": "7731:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7731:32:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7676:87:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 581, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7675:89:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 552, - "id": 582, - "nodeType": "Return", - "src": "7668:96:1" - } - ] - }, - "documentation": { - "id": 544, - "nodeType": "StructuredDocumentation", - "src": "7275:147:1", - "text": " @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist." - }, - "id": 584, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isApprovedOrOwner", - "nameLocation": "7436:18:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 546, - "mutability": "mutable", - "name": "spender", - "nameLocation": "7463:7:1", - "nodeType": "VariableDeclaration", - "scope": 584, - "src": "7455:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7455:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "7480:7:1", - "nodeType": "VariableDeclaration", - "scope": 584, - "src": "7472:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7472:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7454:34:1" - }, - "returnParameters": { - "id": 552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 551, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 584, - "src": "7520:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 550, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7520:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7519:6:1" - }, - "scope": 935, - "src": "7427:344:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 598, - "nodeType": "Block", - "src": "8166:43:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 593, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "8186:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 594, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 589, - "src": "8190:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "", - "id": 595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8199:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 592, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 599, - 628 - ], - "referencedDeclaration": 628, - "src": "8176:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8176:26:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 597, - "nodeType": "ExpressionStatement", - "src": "8176:26:1" - } - ] - }, - "documentation": { - "id": 585, - "nodeType": "StructuredDocumentation", - "src": "7777:319:1", - "text": " @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\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." - }, - "id": 599, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nameLocation": "8110:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 587, - "mutability": "mutable", - "name": "to", - "nameLocation": "8128:2:1", - "nodeType": "VariableDeclaration", - "scope": 599, - "src": "8120:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8120:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 589, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "8140:7:1", - "nodeType": "VariableDeclaration", - "scope": 599, - "src": "8132:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 588, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8132:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8119:29:1" - }, - "returnParameters": { - "id": 591, - "nodeType": "ParameterList", - "parameters": [], - "src": "8166:0:1" - }, - "scope": 935, - "src": "8101:108:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 627, - "nodeType": "Block", - "src": "8545:196:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 610, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "8561:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 611, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "8565:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 609, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 685, - "src": "8555:5:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8555:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 613, - "nodeType": "ExpressionStatement", - "src": "8555:18:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8635:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8627:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8627:7:1", - "typeDescriptions": {} - } - }, - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8627:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 620, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "8639:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 621, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "8643:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 622, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "8652:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 615, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 923, - "src": "8604:22:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8604:54:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8672:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8583:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8583:151:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 626, - "nodeType": "ExpressionStatement", - "src": "8583:151:1" - } - ] - }, - "documentation": { - "id": 600, - "nodeType": "StructuredDocumentation", - "src": "8215:210:1", - "text": " @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients." - }, - "id": 628, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nameLocation": "8439:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 602, - "mutability": "mutable", - "name": "to", - "nameLocation": "8466:2:1", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "8458:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 601, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8458:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 604, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "8486:7:1", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "8478:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 606, - "mutability": "mutable", - "name": "_data", - "nameLocation": "8516:5:1", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "8503:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 605, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8503:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8448:79:1" - }, - "returnParameters": { - "id": 608, - "nodeType": "ParameterList", - "parameters": [], - "src": "8545:0:1" - }, - "scope": 935, - "src": "8430:311:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 684, - "nodeType": "Block", - "src": "9124:311:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9142:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9156:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9148:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9148:7:1", - "typeDescriptions": {} - } - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9148:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9142:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9160:34:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - }, - "value": "ERC721: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - } - ], - "id": 636, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9134:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9134:61:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 645, - "nodeType": "ExpressionStatement", - "src": "9134:61:1" - }, - { - "expression": { - "arguments": [ - { - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9213:17:1", - "subExpression": { - "arguments": [ - { - "id": 648, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "9222:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 647, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "9214:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9214:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9232:30:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - }, - "value": "ERC721: token already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - } - ], - "id": 646, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9205:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9205:58:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 653, - "nodeType": "ExpressionStatement", - "src": "9205:58:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9303:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9295:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 655, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9295:7:1", - "typeDescriptions": {} - } - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9295:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 659, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9307:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 660, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "9311:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 654, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 934, - "src": "9274:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9274:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 662, - "nodeType": "ExpressionStatement", - "src": "9274:45:1" - }, - { - "expression": { - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 663, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "9330:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 665, - "indexExpression": { - "id": 664, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9340:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9330:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9347:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9330:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 668, - "nodeType": "ExpressionStatement", - "src": "9330:18:1" - }, - { - "expression": { - "id": 673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 669, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "9358:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 671, - "indexExpression": { - "id": 670, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "9366:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9358:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 672, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9377:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9358:21:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 674, - "nodeType": "ExpressionStatement", - "src": "9358:21:1" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9412:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9404:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9404:7:1", - "typeDescriptions": {} - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9404:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 680, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9416:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 681, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "9420:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 675, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "9395:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9395:33:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 683, - "nodeType": "EmitStatement", - "src": "9390:38:1" - } - ] - }, - "documentation": { - "id": 629, - "nodeType": "StructuredDocumentation", - "src": "8747:311:1", - "text": " @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event." - }, - "id": 685, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "9072:5:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 631, - "mutability": "mutable", - "name": "to", - "nameLocation": "9086:2:1", - "nodeType": "VariableDeclaration", - "scope": 685, - "src": "9078:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 630, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9078:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 633, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "9098:7:1", - "nodeType": "VariableDeclaration", - "scope": 685, - "src": "9090:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9090:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9077:29:1" - }, - "returnParameters": { - "id": 635, - "nodeType": "ParameterList", - "parameters": [], - "src": "9124:0:1" - }, - "scope": 935, - "src": "9063:372:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 735, - "nodeType": "Block", - "src": "9701:299:1", - "statements": [ - { - "assignments": [ - 692 - ], - "declarations": [ - { - "constant": false, - "id": 692, - "mutability": "mutable", - "name": "owner", - "nameLocation": "9719:5:1", - "nodeType": "VariableDeclaration", - "scope": 735, - "src": "9711:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9711:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 697, - "initialValue": { - "arguments": [ - { - "id": 695, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 688, - "src": "9742:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 693, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9727:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$935_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 250, - "src": "9727:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9727:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9711:39:1" - }, - { - "expression": { - "arguments": [ - { - "id": 699, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 692, - "src": "9782:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9797:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9789:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 700, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9789:7:1", - "typeDescriptions": {} - } - }, - "id": 703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9789:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 704, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 688, - "src": "9801:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 698, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 934, - "src": "9761:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9761:48:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 706, - "nodeType": "ExpressionStatement", - "src": "9761:48:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9864:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9856:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9856:7:1", - "typeDescriptions": {} - } - }, - "id": 711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9856:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 712, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 688, - "src": "9868:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 707, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "9847:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9847:29:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 714, - "nodeType": "ExpressionStatement", - "src": "9847:29:1" - }, - { - "expression": { - "id": 719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 715, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "9887:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 717, - "indexExpression": { - "id": 716, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 692, - "src": "9897:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9887:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9907:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9887:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 720, - "nodeType": "ExpressionStatement", - "src": "9887:21:1" - }, - { - "expression": { - "id": 724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "9918:23:1", - "subExpression": { - "baseExpression": { - "id": 721, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "9925:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 723, - "indexExpression": { - "id": 722, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 688, - "src": "9933:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9925:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 725, - "nodeType": "ExpressionStatement", - "src": "9918:23:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 727, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 692, - "src": "9966:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9981:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9973:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9973:7:1", - "typeDescriptions": {} - } - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9973:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 732, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 688, - "src": "9985:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 726, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "9957:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9957:36:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 734, - "nodeType": "EmitStatement", - "src": "9952:41:1" - } - ] - }, - "documentation": { - "id": 686, - "nodeType": "StructuredDocumentation", - "src": "9441:206:1", - "text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event." - }, - "id": 736, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "9661:5:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 688, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "9675:7:1", - "nodeType": "VariableDeclaration", - "scope": 736, - "src": "9667:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9667:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9666:17:1" - }, - "returnParameters": { - "id": 690, - "nodeType": "ParameterList", - "parameters": [], - "src": "9701:0:1" - }, - "scope": 935, - "src": "9652:348:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 804, - "nodeType": "Block", - "src": "10433:451:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 749, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 743, - "src": "10466:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 747, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "10451:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$935_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 250, - "src": "10451:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10451:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 751, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "10478:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10451:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e", - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10484:43:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - }, - "value": "ERC721: transfer of token that is not own" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - } - ], - "id": 746, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "10443:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10443:85:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 755, - "nodeType": "ExpressionStatement", - "src": "10443:85:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 757, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "10546:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10560:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10552:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10552:7:1", - "typeDescriptions": {} - } - }, - "id": 761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10552:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10546:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10564:38:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - }, - "value": "ERC721: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - } - ], - "id": 756, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "10538:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10538:65:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 765, - "nodeType": "ExpressionStatement", - "src": "10538:65:1" - }, - { - "expression": { - "arguments": [ - { - "id": 767, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "10635:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 768, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "10641:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 769, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 743, - "src": "10645:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 766, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 934, - "src": "10614:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10614:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 771, - "nodeType": "ExpressionStatement", - "src": "10614:39:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10732:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10724:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 773, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10724:7:1", - "typeDescriptions": {} - } - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10724:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 777, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 743, - "src": "10736:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 772, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "10715:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10715:29:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 779, - "nodeType": "ExpressionStatement", - "src": "10715:29:1" - }, - { - "expression": { - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 780, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "10755:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 782, - "indexExpression": { - "id": 781, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "10765:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10755:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10774:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10755:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 785, - "nodeType": "ExpressionStatement", - "src": "10755:20:1" - }, - { - "expression": { - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 786, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "10785:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 788, - "indexExpression": { - "id": 787, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "10795:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10785:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10802:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10785:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 791, - "nodeType": "ExpressionStatement", - "src": "10785:18:1" - }, - { - "expression": { - "id": 796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 792, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "10813:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 794, - "indexExpression": { - "id": 793, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 743, - "src": "10821:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10813:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 795, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "10832:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10813:21:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 797, - "nodeType": "ExpressionStatement", - "src": "10813:21:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 799, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "10859:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 800, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "10865:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 801, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 743, - "src": "10869:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 798, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "10850:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10850:27:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 803, - "nodeType": "EmitStatement", - "src": "10845:32:1" - } - ] - }, - "documentation": { - "id": 737, - "nodeType": "StructuredDocumentation", - "src": "10006:313:1", - "text": " @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event." - }, - "id": 805, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "10333:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 744, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 739, - "mutability": "mutable", - "name": "from", - "nameLocation": "10360:4:1", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "10352:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10352:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 741, - "mutability": "mutable", - "name": "to", - "nameLocation": "10382:2:1", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "10374:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 740, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10374:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 743, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "10402:7:1", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "10394:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10394:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10342:73:1" - }, - "returnParameters": { - "id": 745, - "nodeType": "ParameterList", - "parameters": [], - "src": "10433:0:1" - }, - "scope": 935, - "src": "10324:560:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 828, - "nodeType": "Block", - "src": "11059:107:1", - "statements": [ - { - "expression": { - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 813, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "11069:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 815, - "indexExpression": { - "id": 814, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "11085:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11069:24:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 816, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "11096:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11069:29:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 818, - "nodeType": "ExpressionStatement", - "src": "11069:29:1" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "id": 822, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "11137:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 820, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "11122:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$935_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 250, - "src": "11122:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11122:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 824, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "11147:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 825, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "11151:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 819, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "11113:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11113:46:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 827, - "nodeType": "EmitStatement", - "src": "11108:51:1" - } - ] - }, - "documentation": { - "id": 806, - "nodeType": "StructuredDocumentation", - "src": "10890:100:1", - "text": " @dev Approve `to` to operate on `tokenId`\n Emits a {Approval} event." - }, - "id": 829, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "11004:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 811, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 808, - "mutability": "mutable", - "name": "to", - "nameLocation": "11021:2:1", - "nodeType": "VariableDeclaration", - "scope": 829, - "src": "11013:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11013:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 810, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "11033:7:1", - "nodeType": "VariableDeclaration", - "scope": 829, - "src": "11025:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11025:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11012:29:1" - }, - "returnParameters": { - "id": 812, - "nodeType": "ParameterList", - "parameters": [], - "src": "11059:0:1" - }, - "scope": 935, - "src": "10995:171:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 860, - "nodeType": "Block", - "src": "11424:184:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 840, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "11442:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 841, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "11451:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11442:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "id": 843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11461:27:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "typeString": "literal_string \"ERC721: approve to caller\"" - }, - "value": "ERC721: approve to caller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "typeString": "literal_string \"ERC721: approve to caller\"" - } - ], - "id": 839, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11434:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11434:55:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 845, - "nodeType": "ExpressionStatement", - "src": "11434:55:1" - }, - { - "expression": { - "id": 852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 846, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "11499:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 849, - "indexExpression": { - "id": 847, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "11518:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11499:25:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 850, - "indexExpression": { - "id": 848, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "11525:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11499:35:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 851, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 836, - "src": "11537:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11499:46:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 853, - "nodeType": "ExpressionStatement", - "src": "11499:46:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 855, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "11575:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 856, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "11582:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 857, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 836, - "src": "11592:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 854, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "11560:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11560:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 859, - "nodeType": "EmitStatement", - "src": "11555:46:1" - } - ] - }, - "documentation": { - "id": 830, - "nodeType": "StructuredDocumentation", - "src": "11172:124:1", - "text": " @dev Approve `operator` to operate on all of `owner` tokens\n Emits a {ApprovalForAll} event." - }, - "id": 861, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setApprovalForAll", - "nameLocation": "11310:18:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 837, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 832, - "mutability": "mutable", - "name": "owner", - "nameLocation": "11346:5:1", - "nodeType": "VariableDeclaration", - "scope": 861, - "src": "11338:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 831, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11338:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 834, - "mutability": "mutable", - "name": "operator", - "nameLocation": "11369:8:1", - "nodeType": "VariableDeclaration", - "scope": 861, - "src": "11361:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 833, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11361:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 836, - "mutability": "mutable", - "name": "approved", - "nameLocation": "11392:8:1", - "nodeType": "VariableDeclaration", - "scope": 861, - "src": "11387:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 835, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11387:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "11328:78:1" - }, - "returnParameters": { - "id": 838, - "nodeType": "ParameterList", - "parameters": [], - "src": "11424:0:1" - }, - "scope": 935, - "src": "11301:307:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 922, - "nodeType": "Block", - "src": "12317:622:1", - "statements": [ - { - "condition": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 875, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "12331:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 1244, - "src": "12331:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12331:15:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 920, - "nodeType": "Block", - "src": "12897:36:1", - "statements": [ - { - "expression": { - "hexValue": "74727565", - "id": 918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12918:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 874, - "id": 919, - "nodeType": "Return", - "src": "12911:11:1" - } - ] - }, - "id": 921, - "nodeType": "IfStatement", - "src": "12327:606:1", - "trueBody": { - "id": 917, - "nodeType": "Block", - "src": "12348:543:1", - "statements": [ - { - "clauses": [ - { - "block": { - "id": 897, - "nodeType": "Block", - "src": "12463:91:1", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 891, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 889, - "src": "12488:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 892, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "12498:15:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1069_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 1068, - "src": "12498:32:1", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$", - "typeString": "function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)" - } - }, - "id": 894, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "12498:41:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "12488:51:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 874, - "id": 896, - "nodeType": "Return", - "src": "12481:58:1" - } - ] - }, - "errorName": "", - "id": 898, - "nodeType": "TryCatchClause", - "parameters": { - "id": 890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 889, - "mutability": "mutable", - "name": "retval", - "nameLocation": "12455:6:1", - "nodeType": "VariableDeclaration", - "scope": 898, - "src": "12448:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 888, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "12448:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "12447:15:1" - }, - "src": "12439:115:1" - }, - { - "block": { - "id": 914, - "nodeType": "Block", - "src": "12583:298:1", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 902, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "12605:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "12605:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12622:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12605:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 912, - "nodeType": "Block", - "src": "12732:135:1", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "12763:86:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12800:2:1", - "type": "", - "value": "32" - }, - { - "name": "reason", - "nodeType": "YulIdentifier", - "src": "12804:6:1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12796:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "12796:15:1" - }, - { - "arguments": [ - { - "name": "reason", - "nodeType": "YulIdentifier", - "src": "12819:6:1" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "12813:5:1" - }, - "nodeType": "YulFunctionCall", - "src": "12813:13:1" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12789:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "12789:38:1" - }, - "nodeType": "YulExpressionStatement", - "src": "12789:38:1" - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 900, - "isOffset": false, - "isSlot": false, - "src": "12804:6:1", - "valueSize": 1 - }, - { - "declaration": 900, - "isOffset": false, - "isSlot": false, - "src": "12819:6:1", - "valueSize": 1 - } - ], - "id": 911, - "nodeType": "InlineAssembly", - "src": "12754:95:1" - } - ] - }, - "id": 913, - "nodeType": "IfStatement", - "src": "12601:266:1", - "trueBody": { - "id": 910, - "nodeType": "Block", - "src": "12625:101:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12654:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 906, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "12647:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12647:60:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 909, - "nodeType": "ExpressionStatement", - "src": "12647:60:1" - } - ] - } - } - ] - }, - "errorName": "", - "id": 915, - "nodeType": "TryCatchClause", - "parameters": { - "id": 901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "mutability": "mutable", - "name": "reason", - "nameLocation": "12575:6:1", - "nodeType": "VariableDeclaration", - "scope": 915, - "src": "12562:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 899, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12562:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "12561:21:1" - }, - "src": "12555:326:1" - } - ], - "externalCall": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 882, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "12403:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12403:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 884, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "12417:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 885, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 868, - "src": "12423:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 886, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 870, - "src": "12432:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "arguments": [ - { - "id": 879, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "12382:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 878, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "12366:15:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1069_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12366:19:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$1069", - "typeString": "contract IERC721Receiver" - } - }, - "id": 881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 1068, - "src": "12366:36:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12366:72:1", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 916, - "nodeType": "TryStatement", - "src": "12362:519:1" - } - ] - } - } - ] - }, - "documentation": { - "id": 862, - "nodeType": "StructuredDocumentation", - "src": "11614:542:1", - "text": " @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param _data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value" - }, - "id": 923, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOnERC721Received", - "nameLocation": "12170:22:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 871, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 864, - "mutability": "mutable", - "name": "from", - "nameLocation": "12210:4:1", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "12202:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12202:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 866, - "mutability": "mutable", - "name": "to", - "nameLocation": "12232:2:1", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "12224:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12224:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 868, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "12252:7:1", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "12244:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 867, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12244:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 870, - "mutability": "mutable", - "name": "_data", - "nameLocation": "12282:5:1", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "12269:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 869, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12269:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "12192:101:1" - }, - "returnParameters": { - "id": 874, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 873, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "12311:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 872, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12311:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "12310:6:1" - }, - "scope": 935, - "src": "12161:778:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 933, - "nodeType": "Block", - "src": "13615:2:1", - "statements": [] - }, - "documentation": { - "id": 924, - "nodeType": "StructuredDocumentation", - "src": "12945:545:1", - "text": " @dev Hook that is called before any token transfer. This includes minting\n and burning.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be\n transferred to `to`.\n - When `from` is zero, `tokenId` will be minted for `to`.\n - When `to` is zero, ``from``'s `tokenId` will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "13504:20:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 926, - "mutability": "mutable", - "name": "from", - "nameLocation": "13542:4:1", - "nodeType": "VariableDeclaration", - "scope": 934, - "src": "13534:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 925, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13534:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 928, - "mutability": "mutable", - "name": "to", - "nameLocation": "13564:2:1", - "nodeType": "VariableDeclaration", - "scope": 934, - "src": "13556:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 927, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13556:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 930, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "13584:7:1", - "nodeType": "VariableDeclaration", - "scope": 934, - "src": "13576:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13576:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13524:73:1" - }, - "returnParameters": { - "id": 932, - "nodeType": "ParameterList", - "parameters": [], - "src": "13615:0:1" - }, - "scope": 935, - "src": "13495:122:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 936, - "src": "613:13006:1", - "usedErrors": [] - } - ], - "src": "92:13528:1" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "exportedSymbols": { - "Address": [ - 1521 - ], - "Context": [ - 1543 - ], - "ERC165": [ - 1844 - ], - "ERC721": [ - 935 - ], - "IERC165": [ - 1856 - ], - "IERC721": [ - 1051 - ], - "IERC721Metadata": [ - 1224 - ], - "IERC721Receiver": [ - 1069 - ], - "Strings": [ - 1820 - ] - }, - "id": 936, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 106, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "92:23:1" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 107, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1052, - "src": "117:23:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "./IERC721Receiver.sol", - "id": 108, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1070, - "src": "141:31:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", - "file": "./extensions/IERC721Metadata.sol", - "id": 109, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1225, - "src": "173:42:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 110, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1522, - "src": "216:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 111, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1544, - "src": "250:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "../../utils/Strings.sol", - "id": 112, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1821, - "src": "284:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "file": "../../utils/introspection/ERC165.sol", - "id": 113, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 936, - "sourceUnit": 1845, - "src": "318:46:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 115, - "name": "Context", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1543, - "src": "632:7:1" - }, - "id": 116, - "nodeType": "InheritanceSpecifier", - "src": "632:7:1" - }, - { - "baseName": { - "id": 117, - "name": "ERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1844, - "src": "641:6:1" - }, - "id": 118, - "nodeType": "InheritanceSpecifier", - "src": "641:6:1" - }, - { - "baseName": { - "id": 119, - "name": "IERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1051, - "src": "649:7:1" - }, - "id": 120, - "nodeType": "InheritanceSpecifier", - "src": "649:7:1" - }, - { - "baseName": { - "id": 121, - "name": "IERC721Metadata", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1224, - "src": "658:15:1" - }, - "id": 122, - "nodeType": "InheritanceSpecifier", - "src": "658:15:1" - } - ], - "canonicalName": "ERC721", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 114, - "nodeType": "StructuredDocumentation", - "src": "366:246:1", - "text": " @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}." - }, - "fullyImplemented": true, - "id": 935, - "linearizedBaseContracts": [ - 935, - 1224, - 1051, - 1844, - 1856, - 1543 - ], - "name": "ERC721", - "nameLocation": "622:6:1", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 125, - "libraryName": { - "id": 123, - "name": "Address", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1521, - "src": "686:7:1" - }, - "nodeType": "UsingForDirective", - "src": "680:26:1", - "typeName": { - "id": 124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "698:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 128, - "libraryName": { - "id": 126, - "name": "Strings", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1820, - "src": "717:7:1" - }, - "nodeType": "UsingForDirective", - "src": "711:26:1", - "typeName": { - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 130, - "mutability": "mutable", - "name": "_name", - "nameLocation": "776:5:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "761:20:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 129, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "761:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 132, - "mutability": "mutable", - "name": "_symbol", - "nameLocation": "823:7:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "808:22:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 131, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "808:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 136, - "mutability": "mutable", - "name": "_owners", - "nameLocation": "919:7:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "883:43:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 135, - "keyType": { - "id": 133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "891:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "883:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "902:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 140, - "mutability": "mutable", - "name": "_balances", - "nameLocation": "1013:9:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "977:45:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 139, - "keyType": { - "id": 137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "985:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "977:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "996:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 144, - "mutability": "mutable", - "name": "_tokenApprovals", - "nameLocation": "1114:15:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "1078:51:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 143, - "keyType": { - "id": 141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1078:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 142, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1097:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 150, - "mutability": "mutable", - "name": "_operatorApprovals", - "nameLocation": "1237:18:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "1184:71:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 149, - "keyType": { - "id": 145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1192:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1184:44:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 148, - "keyType": { - "id": 146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1211:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1203:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 147, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1222:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "visibility": "private" - }, - { - "body": { - "id": 166, - "nodeType": "Block", - "src": "1431:57:1", - "statements": [ - { - "expression": { - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 158, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1441:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 159, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "1449:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1441:13:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 161, - "nodeType": "ExpressionStatement", - "src": "1441:13:1" - }, - { - "expression": { - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 162, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "1464:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 163, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 155, - "src": "1474:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1464:17:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 165, - "nodeType": "ExpressionStatement", - "src": "1464:17:1" - } - ] - }, - "documentation": { - "id": 151, - "nodeType": "StructuredDocumentation", - "src": "1262:108:1", - "text": " @dev Initializes the contract by setting a `name` and a `symbol` to the token collection." - }, - "id": 167, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 153, - "mutability": "mutable", - "name": "name_", - "nameLocation": "1401:5:1", - "nodeType": "VariableDeclaration", - "scope": 167, - "src": "1387:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 152, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1387:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 155, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "1422:7:1", - "nodeType": "VariableDeclaration", - "scope": 167, - "src": "1408:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 154, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1408:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1386:44:1" - }, - "returnParameters": { - "id": 157, - "nodeType": "ParameterList", - "parameters": [], - "src": "1431:0:1" - }, - "scope": 935, - "src": "1375:113:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 1843, - 1855 - ], - "body": { - "id": 197, - "nodeType": "Block", - "src": "1663:192:1", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 178, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 170, - "src": "1692:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 180, - "name": "IERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1051, - "src": "1712:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721_$1051_$", - "typeString": "type(contract IERC721)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC721_$1051_$", - "typeString": "type(contract IERC721)" - } - ], - "id": 179, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "1707:4:1", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1707:13:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$1051", - "typeString": "type(contract IERC721)" - } - }, - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1707:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1692:40:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 184, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 170, - "src": "1748:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 186, - "name": "IERC721Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1224, - "src": "1768:15:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1224_$", - "typeString": "type(contract IERC721Metadata)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1224_$", - "typeString": "type(contract IERC721Metadata)" - } - ], - "id": 185, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "1763:4:1", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1763:21:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$1224", - "typeString": "type(contract IERC721Metadata)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1763:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1748:48:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1692:104:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 193, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 170, - "src": "1836:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 191, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1812:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721_$935_$", - "typeString": "type(contract super ERC721)" - } - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 1843, - "src": "1812:23:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1812:36:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1692:156:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 177, - "id": 196, - "nodeType": "Return", - "src": "1673:175:1" - } - ] - }, - "documentation": { - "id": 168, - "nodeType": "StructuredDocumentation", - "src": "1494:56:1", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 198, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "1564:17:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 174, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 172, - "name": "ERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1844, - "src": "1631:6:1" - }, - { - "id": 173, - "name": "IERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1856, - "src": "1639:7:1" - } - ], - "src": "1622:25:1" - }, - "parameters": { - "id": 171, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 170, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "1589:11:1", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "1582:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 169, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1582:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1581:20:1" - }, - "returnParameters": { - "id": 177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 176, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 198, - "src": "1657:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 175, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1657:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1656:6:1" - }, - "scope": 935, - "src": "1555:300:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 976 - ], - "body": { - "id": 221, - "nodeType": "Block", - "src": "1995:124:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 208, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "2013:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2030:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2022:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2022:7:1", - "typeDescriptions": {} - } - }, - "id": 212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2022:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2013:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373", - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2034:44:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - }, - "value": "ERC721: balance query for the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - } - ], - "id": 207, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2005:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2005:74:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 216, - "nodeType": "ExpressionStatement", - "src": "2005:74:1" - }, - { - "expression": { - "baseExpression": { - "id": 217, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2096:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 219, - "indexExpression": { - "id": 218, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "2106:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2096:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 206, - "id": 220, - "nodeType": "Return", - "src": "2089:23:1" - } - ] - }, - "documentation": { - "id": 199, - "nodeType": "StructuredDocumentation", - "src": "1861:48:1", - "text": " @dev See {IERC721-balanceOf}." - }, - "functionSelector": "70a08231", - "id": 222, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "1923:9:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 203, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1968:8:1" - }, - "parameters": { - "id": 202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 201, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1941:5:1", - "nodeType": "VariableDeclaration", - "scope": 222, - "src": "1933:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1933:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1932:15:1" - }, - "returnParameters": { - "id": 206, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 205, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 222, - "src": "1986:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 204, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1986:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1985:9:1" - }, - "scope": 935, - "src": "1914:205:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 984 - ], - "body": { - "id": 249, - "nodeType": "Block", - "src": "2257:154:1", - "statements": [ - { - "assignments": [ - 232 - ], - "declarations": [ - { - "constant": false, - "id": 232, - "mutability": "mutable", - "name": "owner", - "nameLocation": "2275:5:1", - "nodeType": "VariableDeclaration", - "scope": 249, - "src": "2267:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2267:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 236, - "initialValue": { - "baseExpression": { - "id": 233, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "2283:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 235, - "indexExpression": { - "id": 234, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 225, - "src": "2291:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2283:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2267:32:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 238, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 232, - "src": "2317:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2334:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2326:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2326:7:1", - "typeDescriptions": {} - } - }, - "id": 242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2326:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2317:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2338:43:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", - "typeString": "literal_string \"ERC721: owner query for nonexistent token\"" - }, - "value": "ERC721: owner query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", - "typeString": "literal_string \"ERC721: owner query for nonexistent token\"" - } - ], - "id": 237, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2309:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2309:73:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 246, - "nodeType": "ExpressionStatement", - "src": "2309:73:1" - }, - { - "expression": { - "id": 247, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 232, - "src": "2399:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 230, - "id": 248, - "nodeType": "Return", - "src": "2392:12:1" - } - ] - }, - "documentation": { - "id": 223, - "nodeType": "StructuredDocumentation", - "src": "2125:46:1", - "text": " @dev See {IERC721-ownerOf}." - }, - "functionSelector": "6352211e", - "id": 250, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nameLocation": "2185:7:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 227, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2230:8:1" - }, - "parameters": { - "id": 226, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 225, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2201:7:1", - "nodeType": "VariableDeclaration", - "scope": 250, - "src": "2193:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 224, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2193:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2192:17:1" - }, - "returnParameters": { - "id": 230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 229, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 250, - "src": "2248:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 228, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2248:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2247:9:1" - }, - "scope": 935, - "src": "2176:235:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1209 - ], - "body": { - "id": 259, - "nodeType": "Block", - "src": "2542:29:1", - "statements": [ - { - "expression": { - "id": 257, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "2559:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 256, - "id": 258, - "nodeType": "Return", - "src": "2552:12:1" - } - ] - }, - "documentation": { - "id": 251, - "nodeType": "StructuredDocumentation", - "src": "2417:51:1", - "text": " @dev See {IERC721Metadata-name}." - }, - "functionSelector": "06fdde03", - "id": 260, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "2482:4:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 253, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2509:8:1" - }, - "parameters": { - "id": 252, - "nodeType": "ParameterList", - "parameters": [], - "src": "2486:2:1" - }, - "returnParameters": { - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 255, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 260, - "src": "2527:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2527:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2526:15:1" - }, - "scope": 935, - "src": "2473:98:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1215 - ], - "body": { - "id": 269, - "nodeType": "Block", - "src": "2706:31:1", - "statements": [ - { - "expression": { - "id": 267, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 132, - "src": "2723:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 266, - "id": 268, - "nodeType": "Return", - "src": "2716:14:1" - } - ] - }, - "documentation": { - "id": 261, - "nodeType": "StructuredDocumentation", - "src": "2577:53:1", - "text": " @dev See {IERC721Metadata-symbol}." - }, - "functionSelector": "95d89b41", - "id": 270, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "2644:6:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 263, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2673:8:1" - }, - "parameters": { - "id": 262, - "nodeType": "ParameterList", - "parameters": [], - "src": "2650:2:1" - }, - "returnParameters": { - "id": 266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 265, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 270, - "src": "2691:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 264, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2691:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2690:15:1" - }, - "scope": 935, - "src": "2635:102:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1223 - ], - "body": { - "id": 311, - "nodeType": "Block", - "src": "2891:241:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 281, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 273, - "src": "2917:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 280, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "2909:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2909:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2927:49:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - }, - "value": "ERC721Metadata: URI query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - } - ], - "id": 279, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2901:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2901:76:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 285, - "nodeType": "ExpressionStatement", - "src": "2901:76:1" - }, - { - "assignments": [ - 287 - ], - "declarations": [ - { - "constant": false, - "id": 287, - "mutability": "mutable", - "name": "baseURI", - "nameLocation": "3002:7:1", - "nodeType": "VariableDeclaration", - "scope": 311, - "src": "2988:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 286, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2988:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 290, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 288, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 321, - "src": "3012:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3012:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2988:34:1" - }, - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 293, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3045:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3039:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 291, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3039:5:1", - "typeDescriptions": {} - } - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3039:14:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3039:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3063:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3039:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "", - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3123:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3039:86:1", - "trueExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 302, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "3091:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 303, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 273, - "src": "3100:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 1702, - "src": "3100:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3100:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 300, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "3074:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3074:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3074:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3067:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 298, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3067:6:1", - "typeDescriptions": {} - } - }, - "id": 307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3067:53:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 278, - "id": 310, - "nodeType": "Return", - "src": "3032:93:1" - } - ] - }, - "documentation": { - "id": 271, - "nodeType": "StructuredDocumentation", - "src": "2743:55:1", - "text": " @dev See {IERC721Metadata-tokenURI}." - }, - "functionSelector": "c87b56dd", - "id": 312, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "2812:8:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 275, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2858:8:1" - }, - "parameters": { - "id": 274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 273, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2829:7:1", - "nodeType": "VariableDeclaration", - "scope": 312, - "src": "2821:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2821:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2820:17:1" - }, - "returnParameters": { - "id": 278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 312, - "src": "2876:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 276, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2876:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2875:15:1" - }, - "scope": 935, - "src": "2803:329:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 320, - "nodeType": "Block", - "src": "3439:26:1", - "statements": [ - { - "expression": { - "hexValue": "", - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3456:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "functionReturnParameters": 317, - "id": 319, - "nodeType": "Return", - "src": "3449:9:1" - } - ] - }, - "documentation": { - "id": 313, - "nodeType": "StructuredDocumentation", - "src": "3138:230:1", - "text": " @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overriden in child contracts." - }, - "id": 321, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseURI", - "nameLocation": "3382:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 314, - "nodeType": "ParameterList", - "parameters": [], - "src": "3390:2:1" - }, - "returnParameters": { - "id": 317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 316, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 321, - "src": "3424:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 315, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3424:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3423:15:1" - }, - "scope": 935, - "src": "3373:92:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 1012 - ], - "body": { - "id": 363, - "nodeType": "Block", - "src": "3592:331:1", - "statements": [ - { - "assignments": [ - 331 - ], - "declarations": [ - { - "constant": false, - "id": 331, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3610:5:1", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3602:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3602:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 336, - "initialValue": { - "arguments": [ - { - "id": 334, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "3633:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 332, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "3618:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$935_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 250, - "src": "3618:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3618:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3602:39:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 338, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 324, - "src": "3659:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 339, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "3665:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3659:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3672:35:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - }, - "value": "ERC721: approval to current owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - } - ], - "id": 337, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3651:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3651:57:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 343, - "nodeType": "ExpressionStatement", - "src": "3651:57:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 345, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "3740:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3740:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 347, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "3756:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3740:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 350, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "3782:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 351, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "3789:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3789:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 349, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 420, - "src": "3765:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3765:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3740:62:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c", - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3816:58:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - }, - "value": "ERC721: approve caller is not owner nor approved for all" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - } - ], - "id": 344, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3719:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3719:165:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 357, - "nodeType": "ExpressionStatement", - "src": "3719:165:1" - }, - { - "expression": { - "arguments": [ - { - "id": 359, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 324, - "src": "3904:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 360, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "3908:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 358, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "3895:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3895:21:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 362, - "nodeType": "ExpressionStatement", - "src": "3895:21:1" - } - ] - }, - "documentation": { - "id": 322, - "nodeType": "StructuredDocumentation", - "src": "3471:46:1", - "text": " @dev See {IERC721-approve}." - }, - "functionSelector": "095ea7b3", - "id": 364, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "3531:7:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 328, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3583:8:1" - }, - "parameters": { - "id": 327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 324, - "mutability": "mutable", - "name": "to", - "nameLocation": "3547:2:1", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "3539:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 323, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3539:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 326, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3559:7:1", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "3551:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 325, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3538:29:1" - }, - "returnParameters": { - "id": 329, - "nodeType": "ParameterList", - "parameters": [], - "src": "3592:0:1" - }, - "scope": 935, - "src": "3522:401:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1020 - ], - "body": { - "id": 384, - "nodeType": "Block", - "src": "4069:132:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 375, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "4095:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 374, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "4087:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4087:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4105:46:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - }, - "value": "ERC721: approved query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - } - ], - "id": 373, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4079:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4079:73:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 379, - "nodeType": "ExpressionStatement", - "src": "4079:73:1" - }, - { - "expression": { - "baseExpression": { - "id": 380, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "4170:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 382, - "indexExpression": { - "id": 381, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "4186:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4170:24:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 372, - "id": 383, - "nodeType": "Return", - "src": "4163:31:1" - } - ] - }, - "documentation": { - "id": 365, - "nodeType": "StructuredDocumentation", - "src": "3929:50:1", - "text": " @dev See {IERC721-getApproved}." - }, - "functionSelector": "081812fc", - "id": 385, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nameLocation": "3993:11:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 369, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4042:8:1" - }, - "parameters": { - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4013:7:1", - "nodeType": "VariableDeclaration", - "scope": 385, - "src": "4005:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4005:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4004:17:1" - }, - "returnParameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 371, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 385, - "src": "4060:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 370, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4060:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4059:9:1" - }, - "scope": 935, - "src": "3984:217:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1028 - ], - "body": { - "id": 401, - "nodeType": "Block", - "src": "4352:69:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 395, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "4381:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4381:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 397, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "4395:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 398, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 390, - "src": "4405:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 394, - "name": "_setApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "4362:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4362:52:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 400, - "nodeType": "ExpressionStatement", - "src": "4362:52:1" - } - ] - }, - "documentation": { - "id": 386, - "nodeType": "StructuredDocumentation", - "src": "4207:56:1", - "text": " @dev See {IERC721-setApprovalForAll}." - }, - "functionSelector": "a22cb465", - "id": 402, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nameLocation": "4277:17:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 392, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4343:8:1" - }, - "parameters": { - "id": 391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 388, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4303:8:1", - "nodeType": "VariableDeclaration", - "scope": 402, - "src": "4295:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4295:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 390, - "mutability": "mutable", - "name": "approved", - "nameLocation": "4318:8:1", - "nodeType": "VariableDeclaration", - "scope": 402, - "src": "4313:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 389, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4313:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4294:33:1" - }, - "returnParameters": { - "id": 393, - "nodeType": "ParameterList", - "parameters": [], - "src": "4352:0:1" - }, - "scope": 935, - "src": "4268:153:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1038 - ], - "body": { - "id": 419, - "nodeType": "Block", - "src": "4590:59:1", - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 413, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "4607:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 415, - "indexExpression": { - "id": 414, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "4626:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4607:25:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 417, - "indexExpression": { - "id": 416, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "4633:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4607:35:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 412, - "id": 418, - "nodeType": "Return", - "src": "4600:42:1" - } - ] - }, - "documentation": { - "id": 403, - "nodeType": "StructuredDocumentation", - "src": "4427:55:1", - "text": " @dev See {IERC721-isApprovedForAll}." - }, - "functionSelector": "e985e9c5", - "id": 420, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nameLocation": "4496:16:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 409, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4566:8:1" - }, - "parameters": { - "id": 408, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 405, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4521:5:1", - "nodeType": "VariableDeclaration", - "scope": 420, - "src": "4513:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 404, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4513:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 407, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4536:8:1", - "nodeType": "VariableDeclaration", - "scope": 420, - "src": "4528:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4528:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4512:33:1" - }, - "returnParameters": { - "id": 412, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 411, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 420, - "src": "4584:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 410, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4584:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4583:6:1" - }, - "scope": 935, - "src": "4487:162:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1004 - ], - "body": { - "id": 446, - "nodeType": "Block", - "src": "4830:211:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 433, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "4919:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4919:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 435, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "4933:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 432, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "4900:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4900:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4943:51:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - }, - "value": "ERC721: transfer caller is not owner nor approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - } - ], - "id": 431, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4892:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4892:103:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 439, - "nodeType": "ExpressionStatement", - "src": "4892:103:1" - }, - { - "expression": { - "arguments": [ - { - "id": 441, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5016:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 442, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 425, - "src": "5022:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 443, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "5026:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 440, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "5006:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5006:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 445, - "nodeType": "ExpressionStatement", - "src": "5006:28:1" - } - ] - }, - "documentation": { - "id": 421, - "nodeType": "StructuredDocumentation", - "src": "4655:51:1", - "text": " @dev See {IERC721-transferFrom}." - }, - "functionSelector": "23b872dd", - "id": 447, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "4720:12:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 429, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4821:8:1" - }, - "parameters": { - "id": 428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "from", - "nameLocation": "4750:4:1", - "nodeType": "VariableDeclaration", - "scope": 447, - "src": "4742:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 422, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4742:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 425, - "mutability": "mutable", - "name": "to", - "nameLocation": "4772:2:1", - "nodeType": "VariableDeclaration", - "scope": 447, - "src": "4764:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 424, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4764:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 427, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4792:7:1", - "nodeType": "VariableDeclaration", - "scope": 447, - "src": "4784:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 426, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4784:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4732:73:1" - }, - "returnParameters": { - "id": 430, - "nodeType": "ParameterList", - "parameters": [], - "src": "4830:0:1" - }, - "scope": 935, - "src": "4711:330:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 994 - ], - "body": { - "id": 465, - "nodeType": "Block", - "src": "5230:56:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 459, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 450, - "src": "5257:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 460, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "5263:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 461, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "5267:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "", - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5276:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 458, - "name": "safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 466, - 496 - ], - "referencedDeclaration": 496, - "src": "5240:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5240:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 464, - "nodeType": "ExpressionStatement", - "src": "5240:39:1" - } - ] - }, - "documentation": { - "id": 448, - "nodeType": "StructuredDocumentation", - "src": "5047:55:1", - "text": " @dev See {IERC721-safeTransferFrom}." - }, - "functionSelector": "42842e0e", - "id": 466, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "5116:16:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 456, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5221:8:1" - }, - "parameters": { - "id": 455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 450, - "mutability": "mutable", - "name": "from", - "nameLocation": "5150:4:1", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "5142:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 449, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5142:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 452, - "mutability": "mutable", - "name": "to", - "nameLocation": "5172:2:1", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "5164:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 451, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5164:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 454, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5192:7:1", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "5184:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 453, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5184:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5132:73:1" - }, - "returnParameters": { - "id": 457, - "nodeType": "ParameterList", - "parameters": [], - "src": "5230:0:1" - }, - "scope": 935, - "src": "5107:179:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1050 - ], - "body": { - "id": 495, - "nodeType": "Block", - "src": "5503:169:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 481, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "5540:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5540:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 483, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 473, - "src": "5554:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 480, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "5521:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5521:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5564:51:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - }, - "value": "ERC721: transfer caller is not owner nor approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - } - ], - "id": 479, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5513:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5513:103:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 487, - "nodeType": "ExpressionStatement", - "src": "5513:103:1" - }, - { - "expression": { - "arguments": [ - { - "id": 489, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 469, - "src": "5640:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 490, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "5646:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 491, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 473, - "src": "5650:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 492, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "5659:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 488, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "5626:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5626:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 494, - "nodeType": "ExpressionStatement", - "src": "5626:39:1" - } - ] - }, - "documentation": { - "id": 467, - "nodeType": "StructuredDocumentation", - "src": "5292:55:1", - "text": " @dev See {IERC721-safeTransferFrom}." - }, - "functionSelector": "b88d4fde", - "id": 496, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "5361:16:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 477, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5494:8:1" - }, - "parameters": { - "id": 476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 469, - "mutability": "mutable", - "name": "from", - "nameLocation": "5395:4:1", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "5387:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 468, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5387:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 471, - "mutability": "mutable", - "name": "to", - "nameLocation": "5417:2:1", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "5409:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5409:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 473, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5437:7:1", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "5429:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5429:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 475, - "mutability": "mutable", - "name": "_data", - "nameLocation": "5467:5:1", - "nodeType": "VariableDeclaration", - "scope": 496, - "src": "5454:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 474, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5454:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5377:101:1" - }, - "returnParameters": { - "id": 478, - "nodeType": "ParameterList", - "parameters": [], - "src": "5503:0:1" - }, - "scope": 935, - "src": "5352:320:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 524, - "nodeType": "Block", - "src": "6675:166:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 509, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "6695:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 510, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "6701:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 511, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "6705:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 508, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 805, - "src": "6685:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6685:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 513, - "nodeType": "ExpressionStatement", - "src": "6685:28:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 516, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "6754:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 517, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "6760:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 518, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "6764:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 519, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "6773:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 515, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 923, - "src": "6731:22:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6731:48:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6781:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 514, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6723:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6723:111:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 523, - "nodeType": "ExpressionStatement", - "src": "6723:111:1" - } - ] - }, - "documentation": { - "id": 497, - "nodeType": "StructuredDocumentation", - "src": "5678:851:1", - "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 `_data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\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 `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." - }, - "id": 525, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nameLocation": "6543:13:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 506, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 499, - "mutability": "mutable", - "name": "from", - "nameLocation": "6574:4:1", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "6566:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6566:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 501, - "mutability": "mutable", - "name": "to", - "nameLocation": "6596:2:1", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "6588:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 500, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6588:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 503, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "6616:7:1", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "6608:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6608:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 505, - "mutability": "mutable", - "name": "_data", - "nameLocation": "6646:5:1", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "6633:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 504, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6633:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6556:101:1" - }, - "returnParameters": { - "id": 507, - "nodeType": "ParameterList", - "parameters": [], - "src": "6675:0:1" - }, - "scope": 935, - "src": "6534:307:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 542, - "nodeType": "Block", - "src": "7215:54:1", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 533, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "7232:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 535, - "indexExpression": { - "id": 534, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "7240:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7232:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7260:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7252:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 536, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7252:7:1", - "typeDescriptions": {} - } - }, - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7252:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7232:30:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 532, - "id": 541, - "nodeType": "Return", - "src": "7225:37:1" - } - ] - }, - "documentation": { - "id": 526, - "nodeType": "StructuredDocumentation", - "src": "6847:292:1", - "text": " @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)." - }, - "id": 543, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nameLocation": "7153:7:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 528, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "7169:7:1", - "nodeType": "VariableDeclaration", - "scope": 543, - "src": "7161:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7161:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7160:17:1" - }, - "returnParameters": { - "id": 532, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 531, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 543, - "src": "7209:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 530, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7209:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7208:6:1" - }, - "scope": 935, - "src": "7144:125:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 583, - "nodeType": "Block", - "src": "7526:245:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 555, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "7552:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 554, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "7544:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7544:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7562:46:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "typeString": "literal_string \"ERC721: operator query for nonexistent token\"" - }, - "value": "ERC721: operator query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "typeString": "literal_string \"ERC721: operator query for nonexistent token\"" - } - ], - "id": 553, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7536:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7536:73:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 559, - "nodeType": "ExpressionStatement", - "src": "7536:73:1" - }, - { - "assignments": [ - 561 - ], - "declarations": [ - { - "constant": false, - "id": 561, - "mutability": "mutable", - "name": "owner", - "nameLocation": "7627:5:1", - "nodeType": "VariableDeclaration", - "scope": 583, - "src": "7619:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7619:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 566, - "initialValue": { - "arguments": [ - { - "id": 564, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "7650:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 562, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "7635:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$935_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 250, - "src": "7635:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7635:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7619:39:1" - }, - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 567, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 546, - "src": "7676:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 568, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 561, - "src": "7687:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7676:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 571, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "7708:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 570, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "7696:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7696:20:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 573, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 546, - "src": "7720:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7696:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7676:51:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 577, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 561, - "src": "7748:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 578, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 546, - "src": "7755:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 576, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 420, - "src": "7731:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7731:32:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7676:87:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 581, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7675:89:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 552, - "id": 582, - "nodeType": "Return", - "src": "7668:96:1" - } - ] - }, - "documentation": { - "id": 544, - "nodeType": "StructuredDocumentation", - "src": "7275:147:1", - "text": " @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist." - }, - "id": 584, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isApprovedOrOwner", - "nameLocation": "7436:18:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 546, - "mutability": "mutable", - "name": "spender", - "nameLocation": "7463:7:1", - "nodeType": "VariableDeclaration", - "scope": 584, - "src": "7455:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7455:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "7480:7:1", - "nodeType": "VariableDeclaration", - "scope": 584, - "src": "7472:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7472:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7454:34:1" - }, - "returnParameters": { - "id": 552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 551, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 584, - "src": "7520:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 550, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7520:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7519:6:1" - }, - "scope": 935, - "src": "7427:344:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 598, - "nodeType": "Block", - "src": "8166:43:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 593, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "8186:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 594, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 589, - "src": "8190:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "", - "id": 595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8199:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 592, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 599, - 628 - ], - "referencedDeclaration": 628, - "src": "8176:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8176:26:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 597, - "nodeType": "ExpressionStatement", - "src": "8176:26:1" - } - ] - }, - "documentation": { - "id": 585, - "nodeType": "StructuredDocumentation", - "src": "7777:319:1", - "text": " @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\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." - }, - "id": 599, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nameLocation": "8110:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 587, - "mutability": "mutable", - "name": "to", - "nameLocation": "8128:2:1", - "nodeType": "VariableDeclaration", - "scope": 599, - "src": "8120:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8120:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 589, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "8140:7:1", - "nodeType": "VariableDeclaration", - "scope": 599, - "src": "8132:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 588, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8132:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8119:29:1" - }, - "returnParameters": { - "id": 591, - "nodeType": "ParameterList", - "parameters": [], - "src": "8166:0:1" - }, - "scope": 935, - "src": "8101:108:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 627, - "nodeType": "Block", - "src": "8545:196:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 610, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "8561:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 611, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "8565:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 609, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 685, - "src": "8555:5:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8555:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 613, - "nodeType": "ExpressionStatement", - "src": "8555:18:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8635:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8627:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8627:7:1", - "typeDescriptions": {} - } - }, - "id": 619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8627:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 620, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "8639:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 621, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 604, - "src": "8643:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 622, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "8652:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 615, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 923, - "src": "8604:22:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8604:54:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8672:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8583:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8583:151:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 626, - "nodeType": "ExpressionStatement", - "src": "8583:151:1" - } - ] - }, - "documentation": { - "id": 600, - "nodeType": "StructuredDocumentation", - "src": "8215:210:1", - "text": " @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients." - }, - "id": 628, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nameLocation": "8439:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 602, - "mutability": "mutable", - "name": "to", - "nameLocation": "8466:2:1", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "8458:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 601, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8458:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 604, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "8486:7:1", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "8478:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 606, - "mutability": "mutable", - "name": "_data", - "nameLocation": "8516:5:1", - "nodeType": "VariableDeclaration", - "scope": 628, - "src": "8503:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 605, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8503:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8448:79:1" - }, - "returnParameters": { - "id": 608, - "nodeType": "ParameterList", - "parameters": [], - "src": "8545:0:1" - }, - "scope": 935, - "src": "8430:311:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 684, - "nodeType": "Block", - "src": "9124:311:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 637, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9142:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9156:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9148:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9148:7:1", - "typeDescriptions": {} - } - }, - "id": 641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9148:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9142:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9160:34:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - }, - "value": "ERC721: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - } - ], - "id": 636, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9134:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9134:61:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 645, - "nodeType": "ExpressionStatement", - "src": "9134:61:1" - }, - { - "expression": { - "arguments": [ - { - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9213:17:1", - "subExpression": { - "arguments": [ - { - "id": 648, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "9222:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 647, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "9214:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9214:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9232:30:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - }, - "value": "ERC721: token already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - } - ], - "id": 646, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9205:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9205:58:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 653, - "nodeType": "ExpressionStatement", - "src": "9205:58:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9303:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9295:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 655, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9295:7:1", - "typeDescriptions": {} - } - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9295:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 659, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9307:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 660, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "9311:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 654, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 934, - "src": "9274:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9274:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 662, - "nodeType": "ExpressionStatement", - "src": "9274:45:1" - }, - { - "expression": { - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 663, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "9330:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 665, - "indexExpression": { - "id": 664, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9340:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9330:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9347:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9330:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 668, - "nodeType": "ExpressionStatement", - "src": "9330:18:1" - }, - { - "expression": { - "id": 673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 669, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "9358:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 671, - "indexExpression": { - "id": 670, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "9366:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9358:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 672, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9377:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9358:21:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 674, - "nodeType": "ExpressionStatement", - "src": "9358:21:1" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9412:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9404:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9404:7:1", - "typeDescriptions": {} - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9404:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 680, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "9416:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 681, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "9420:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 675, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "9395:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9395:33:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 683, - "nodeType": "EmitStatement", - "src": "9390:38:1" - } - ] - }, - "documentation": { - "id": 629, - "nodeType": "StructuredDocumentation", - "src": "8747:311:1", - "text": " @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event." - }, - "id": 685, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "9072:5:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 631, - "mutability": "mutable", - "name": "to", - "nameLocation": "9086:2:1", - "nodeType": "VariableDeclaration", - "scope": 685, - "src": "9078:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 630, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9078:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 633, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "9098:7:1", - "nodeType": "VariableDeclaration", - "scope": 685, - "src": "9090:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9090:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9077:29:1" - }, - "returnParameters": { - "id": 635, - "nodeType": "ParameterList", - "parameters": [], - "src": "9124:0:1" - }, - "scope": 935, - "src": "9063:372:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 735, - "nodeType": "Block", - "src": "9701:299:1", - "statements": [ - { - "assignments": [ - 692 - ], - "declarations": [ - { - "constant": false, - "id": 692, - "mutability": "mutable", - "name": "owner", - "nameLocation": "9719:5:1", - "nodeType": "VariableDeclaration", - "scope": 735, - "src": "9711:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9711:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 697, - "initialValue": { - "arguments": [ - { - "id": 695, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 688, - "src": "9742:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 693, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "9727:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$935_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 250, - "src": "9727:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9727:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9711:39:1" - }, - { - "expression": { - "arguments": [ - { - "id": 699, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 692, - "src": "9782:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9797:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9789:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 700, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9789:7:1", - "typeDescriptions": {} - } - }, - "id": 703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9789:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 704, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 688, - "src": "9801:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 698, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 934, - "src": "9761:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9761:48:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 706, - "nodeType": "ExpressionStatement", - "src": "9761:48:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9864:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9856:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9856:7:1", - "typeDescriptions": {} - } - }, - "id": 711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9856:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 712, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 688, - "src": "9868:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 707, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "9847:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9847:29:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 714, - "nodeType": "ExpressionStatement", - "src": "9847:29:1" - }, - { - "expression": { - "id": 719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 715, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "9887:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 717, - "indexExpression": { - "id": 716, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 692, - "src": "9897:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9887:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9907:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9887:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 720, - "nodeType": "ExpressionStatement", - "src": "9887:21:1" - }, - { - "expression": { - "id": 724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "9918:23:1", - "subExpression": { - "baseExpression": { - "id": 721, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "9925:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 723, - "indexExpression": { - "id": 722, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 688, - "src": "9933:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9925:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 725, - "nodeType": "ExpressionStatement", - "src": "9918:23:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 727, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 692, - "src": "9966:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9981:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9973:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9973:7:1", - "typeDescriptions": {} - } - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9973:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 732, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 688, - "src": "9985:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 726, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "9957:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9957:36:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 734, - "nodeType": "EmitStatement", - "src": "9952:41:1" - } - ] - }, - "documentation": { - "id": 686, - "nodeType": "StructuredDocumentation", - "src": "9441:206:1", - "text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event." - }, - "id": 736, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "9661:5:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 688, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "9675:7:1", - "nodeType": "VariableDeclaration", - "scope": 736, - "src": "9667:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9667:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9666:17:1" - }, - "returnParameters": { - "id": 690, - "nodeType": "ParameterList", - "parameters": [], - "src": "9701:0:1" - }, - "scope": 935, - "src": "9652:348:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 804, - "nodeType": "Block", - "src": "10433:451:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 749, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 743, - "src": "10466:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 747, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "10451:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$935_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 250, - "src": "10451:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10451:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 751, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "10478:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10451:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e", - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10484:43:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - }, - "value": "ERC721: transfer of token that is not own" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - } - ], - "id": 746, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "10443:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10443:85:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 755, - "nodeType": "ExpressionStatement", - "src": "10443:85:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 757, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "10546:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10560:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10552:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10552:7:1", - "typeDescriptions": {} - } - }, - "id": 761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10552:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10546:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10564:38:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - }, - "value": "ERC721: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - } - ], - "id": 756, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "10538:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10538:65:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 765, - "nodeType": "ExpressionStatement", - "src": "10538:65:1" - }, - { - "expression": { - "arguments": [ - { - "id": 767, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "10635:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 768, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "10641:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 769, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 743, - "src": "10645:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 766, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 934, - "src": "10614:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10614:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 771, - "nodeType": "ExpressionStatement", - "src": "10614:39:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10732:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10724:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 773, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10724:7:1", - "typeDescriptions": {} - } - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10724:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 777, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 743, - "src": "10736:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 772, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "10715:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10715:29:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 779, - "nodeType": "ExpressionStatement", - "src": "10715:29:1" - }, - { - "expression": { - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 780, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "10755:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 782, - "indexExpression": { - "id": 781, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "10765:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10755:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10774:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10755:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 785, - "nodeType": "ExpressionStatement", - "src": "10755:20:1" - }, - { - "expression": { - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 786, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "10785:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 788, - "indexExpression": { - "id": 787, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "10795:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10785:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10802:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10785:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 791, - "nodeType": "ExpressionStatement", - "src": "10785:18:1" - }, - { - "expression": { - "id": 796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 792, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "10813:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 794, - "indexExpression": { - "id": 793, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 743, - "src": "10821:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10813:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 795, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "10832:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10813:21:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 797, - "nodeType": "ExpressionStatement", - "src": "10813:21:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 799, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "10859:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 800, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "10865:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 801, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 743, - "src": "10869:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 798, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "10850:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10850:27:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 803, - "nodeType": "EmitStatement", - "src": "10845:32:1" - } - ] - }, - "documentation": { - "id": 737, - "nodeType": "StructuredDocumentation", - "src": "10006:313:1", - "text": " @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event." - }, - "id": 805, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "10333:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 744, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 739, - "mutability": "mutable", - "name": "from", - "nameLocation": "10360:4:1", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "10352:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10352:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 741, - "mutability": "mutable", - "name": "to", - "nameLocation": "10382:2:1", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "10374:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 740, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10374:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 743, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "10402:7:1", - "nodeType": "VariableDeclaration", - "scope": 805, - "src": "10394:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10394:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10342:73:1" - }, - "returnParameters": { - "id": 745, - "nodeType": "ParameterList", - "parameters": [], - "src": "10433:0:1" - }, - "scope": 935, - "src": "10324:560:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 828, - "nodeType": "Block", - "src": "11059:107:1", - "statements": [ - { - "expression": { - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 813, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "11069:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 815, - "indexExpression": { - "id": 814, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "11085:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11069:24:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 816, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "11096:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11069:29:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 818, - "nodeType": "ExpressionStatement", - "src": "11069:29:1" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "id": 822, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "11137:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 820, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "11122:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$935_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 250, - "src": "11122:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11122:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 824, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "11147:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 825, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "11151:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 819, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "11113:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11113:46:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 827, - "nodeType": "EmitStatement", - "src": "11108:51:1" - } - ] - }, - "documentation": { - "id": 806, - "nodeType": "StructuredDocumentation", - "src": "10890:100:1", - "text": " @dev Approve `to` to operate on `tokenId`\n Emits a {Approval} event." - }, - "id": 829, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "11004:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 811, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 808, - "mutability": "mutable", - "name": "to", - "nameLocation": "11021:2:1", - "nodeType": "VariableDeclaration", - "scope": 829, - "src": "11013:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11013:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 810, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "11033:7:1", - "nodeType": "VariableDeclaration", - "scope": 829, - "src": "11025:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11025:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11012:29:1" - }, - "returnParameters": { - "id": 812, - "nodeType": "ParameterList", - "parameters": [], - "src": "11059:0:1" - }, - "scope": 935, - "src": "10995:171:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 860, - "nodeType": "Block", - "src": "11424:184:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 840, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "11442:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 841, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "11451:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11442:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "id": 843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11461:27:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "typeString": "literal_string \"ERC721: approve to caller\"" - }, - "value": "ERC721: approve to caller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "typeString": "literal_string \"ERC721: approve to caller\"" - } - ], - "id": 839, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11434:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11434:55:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 845, - "nodeType": "ExpressionStatement", - "src": "11434:55:1" - }, - { - "expression": { - "id": 852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 846, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "11499:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 849, - "indexExpression": { - "id": 847, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "11518:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11499:25:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 850, - "indexExpression": { - "id": 848, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "11525:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11499:35:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 851, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 836, - "src": "11537:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11499:46:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 853, - "nodeType": "ExpressionStatement", - "src": "11499:46:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 855, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 832, - "src": "11575:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 856, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "11582:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 857, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 836, - "src": "11592:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 854, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "11560:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11560:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 859, - "nodeType": "EmitStatement", - "src": "11555:46:1" - } - ] - }, - "documentation": { - "id": 830, - "nodeType": "StructuredDocumentation", - "src": "11172:124:1", - "text": " @dev Approve `operator` to operate on all of `owner` tokens\n Emits a {ApprovalForAll} event." - }, - "id": 861, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setApprovalForAll", - "nameLocation": "11310:18:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 837, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 832, - "mutability": "mutable", - "name": "owner", - "nameLocation": "11346:5:1", - "nodeType": "VariableDeclaration", - "scope": 861, - "src": "11338:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 831, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11338:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 834, - "mutability": "mutable", - "name": "operator", - "nameLocation": "11369:8:1", - "nodeType": "VariableDeclaration", - "scope": 861, - "src": "11361:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 833, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11361:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 836, - "mutability": "mutable", - "name": "approved", - "nameLocation": "11392:8:1", - "nodeType": "VariableDeclaration", - "scope": 861, - "src": "11387:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 835, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11387:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "11328:78:1" - }, - "returnParameters": { - "id": 838, - "nodeType": "ParameterList", - "parameters": [], - "src": "11424:0:1" - }, - "scope": 935, - "src": "11301:307:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 922, - "nodeType": "Block", - "src": "12317:622:1", - "statements": [ - { - "condition": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 875, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "12331:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 1244, - "src": "12331:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12331:15:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 920, - "nodeType": "Block", - "src": "12897:36:1", - "statements": [ - { - "expression": { - "hexValue": "74727565", - "id": 918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12918:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 874, - "id": 919, - "nodeType": "Return", - "src": "12911:11:1" - } - ] - }, - "id": 921, - "nodeType": "IfStatement", - "src": "12327:606:1", - "trueBody": { - "id": 917, - "nodeType": "Block", - "src": "12348:543:1", - "statements": [ - { - "clauses": [ - { - "block": { - "id": 897, - "nodeType": "Block", - "src": "12463:91:1", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 891, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 889, - "src": "12488:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 892, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "12498:15:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1069_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 1068, - "src": "12498:32:1", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$", - "typeString": "function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)" - } - }, - "id": 894, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "12498:41:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "12488:51:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 874, - "id": 896, - "nodeType": "Return", - "src": "12481:58:1" - } - ] - }, - "errorName": "", - "id": 898, - "nodeType": "TryCatchClause", - "parameters": { - "id": 890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 889, - "mutability": "mutable", - "name": "retval", - "nameLocation": "12455:6:1", - "nodeType": "VariableDeclaration", - "scope": 898, - "src": "12448:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 888, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "12448:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "12447:15:1" - }, - "src": "12439:115:1" - }, - { - "block": { - "id": 914, - "nodeType": "Block", - "src": "12583:298:1", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 902, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "12605:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "12605:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12622:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12605:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 912, - "nodeType": "Block", - "src": "12732:135:1", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "12763:86:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12800:2:1", - "type": "", - "value": "32" - }, - { - "name": "reason", - "nodeType": "YulIdentifier", - "src": "12804:6:1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12796:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "12796:15:1" - }, - { - "arguments": [ - { - "name": "reason", - "nodeType": "YulIdentifier", - "src": "12819:6:1" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "12813:5:1" - }, - "nodeType": "YulFunctionCall", - "src": "12813:13:1" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12789:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "12789:38:1" - }, - "nodeType": "YulExpressionStatement", - "src": "12789:38:1" - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 900, - "isOffset": false, - "isSlot": false, - "src": "12804:6:1", - "valueSize": 1 - }, - { - "declaration": 900, - "isOffset": false, - "isSlot": false, - "src": "12819:6:1", - "valueSize": 1 - } - ], - "id": 911, - "nodeType": "InlineAssembly", - "src": "12754:95:1" - } - ] - }, - "id": 913, - "nodeType": "IfStatement", - "src": "12601:266:1", - "trueBody": { - "id": 910, - "nodeType": "Block", - "src": "12625:101:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12654:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 906, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "12647:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12647:60:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 909, - "nodeType": "ExpressionStatement", - "src": "12647:60:1" - } - ] - } - } - ] - }, - "errorName": "", - "id": 915, - "nodeType": "TryCatchClause", - "parameters": { - "id": 901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "mutability": "mutable", - "name": "reason", - "nameLocation": "12575:6:1", - "nodeType": "VariableDeclaration", - "scope": 915, - "src": "12562:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 899, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12562:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "12561:21:1" - }, - "src": "12555:326:1" - } - ], - "externalCall": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 882, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "12403:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12403:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 884, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "12417:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 885, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 868, - "src": "12423:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 886, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 870, - "src": "12432:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "arguments": [ - { - "id": 879, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 866, - "src": "12382:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 878, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "12366:15:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1069_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12366:19:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$1069", - "typeString": "contract IERC721Receiver" - } - }, - "id": 881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 1068, - "src": "12366:36:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12366:72:1", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 916, - "nodeType": "TryStatement", - "src": "12362:519:1" - } - ] - } - } - ] - }, - "documentation": { - "id": 862, - "nodeType": "StructuredDocumentation", - "src": "11614:542:1", - "text": " @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param _data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value" - }, - "id": 923, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOnERC721Received", - "nameLocation": "12170:22:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 871, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 864, - "mutability": "mutable", - "name": "from", - "nameLocation": "12210:4:1", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "12202:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 863, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12202:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 866, - "mutability": "mutable", - "name": "to", - "nameLocation": "12232:2:1", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "12224:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12224:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 868, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "12252:7:1", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "12244:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 867, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12244:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 870, - "mutability": "mutable", - "name": "_data", - "nameLocation": "12282:5:1", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "12269:18:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 869, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12269:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "12192:101:1" - }, - "returnParameters": { - "id": 874, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 873, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 923, - "src": "12311:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 872, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12311:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "12310:6:1" - }, - "scope": 935, - "src": "12161:778:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 933, - "nodeType": "Block", - "src": "13615:2:1", - "statements": [] - }, - "documentation": { - "id": 924, - "nodeType": "StructuredDocumentation", - "src": "12945:545:1", - "text": " @dev Hook that is called before any token transfer. This includes minting\n and burning.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be\n transferred to `to`.\n - When `from` is zero, `tokenId` will be minted for `to`.\n - When `to` is zero, ``from``'s `tokenId` will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "13504:20:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 926, - "mutability": "mutable", - "name": "from", - "nameLocation": "13542:4:1", - "nodeType": "VariableDeclaration", - "scope": 934, - "src": "13534:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 925, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13534:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 928, - "mutability": "mutable", - "name": "to", - "nameLocation": "13564:2:1", - "nodeType": "VariableDeclaration", - "scope": 934, - "src": "13556:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 927, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13556:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 930, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "13584:7:1", - "nodeType": "VariableDeclaration", - "scope": 934, - "src": "13576:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13576:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13524:73:1" - }, - "returnParameters": { - "id": 932, - "nodeType": "ParameterList", - "parameters": [], - "src": "13615:0:1" - }, - "scope": 935, - "src": "13495:122:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 936, - "src": "613:13006:1", - "usedErrors": [] - } - ], - "src": "92:13528:1" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.587Z", - "devdoc": { - "details": "Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.", - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "constructor": { - "details": "Initializes the contract by setting a `name` and a `symbol` to the token collection." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/ERC721URIStorage.json b/build2/contracts/ERC721URIStorage.json deleted file mode 100644 index 5c9d1ce..0000000 --- a/build2/contracts/ERC721URIStorage.json +++ /dev/null @@ -1,3599 +0,0 @@ -{ - "contractName": "ERC721URIStorage", - "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": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\"}],\"devdoc\":{\"details\":\"ERC721 token with storage based token URI management.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":\"ERC721URIStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x81c02855bc239e16ec09eee000a8bec691424c715188d6d881037e69c45414c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46e3ecc8920aeb78c362a387520fe28e022cdc6d04256d9e5874eb8ff6868b6d\",\"dweb:/ipfs/QmdfCTHrV6CZMGiM3KqGF8tWkdNvGpEmWFyy72X1LAHsz2\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd5fa74b4fb323776fa4a8158800fec9d5ac0fec0d6dd046dd93798632ada265f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33017a30a99cc5411a9e376622c31fc4a55cfc6a335e2f57f00cbf24a817ff3f\",\"dweb:/ipfs/QmWNQtWTPhA7Lo8nbxbc8KFMvZwbFYB8fSeEQ3vuapSV4a\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x1cbe42915bc66227970fe99bc0f783eb1de30f2b48f984af01ad45edb9658698\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2baa08eb67d9da46e6c4c049f17b7684a1c68c5268d0f466cfa0eb23ce2bf9b0\",\"dweb:/ipfs/Qmdnj8zj4PfErB2HM2eKmDt7FrqrhggsZ6Qd8MpD593tgj\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x51b758a8815ecc9596c66c37d56b1d33883a444631a3f916b9fe65cb863ef7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://997ca03557985b3c6f9143a18b6c3a710b3bc1c7f189ee956d305a966ecfb922\",\"dweb:/ipfs/QmQaD3Wb62F88SHqmpLttvF6wKuPDQep2LLUcKPekeRzvz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@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 (token/ERC721/extensions/ERC721URIStorage.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\n\n/**\n * @dev ERC721 token with storage based token URI management.\n */\nabstract contract ERC721URIStorage is ERC721 {\n using Strings for uint256;\n\n // Optional mapping for token URIs\n mapping(uint256 => string) private _tokenURIs;\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n require(_exists(tokenId), \"ERC721URIStorage: URI query for nonexistent token\");\n\n string memory _tokenURI = _tokenURIs[tokenId];\n string memory base = _baseURI();\n\n // If there is no base URI, return the token URI.\n if (bytes(base).length == 0) {\n return _tokenURI;\n }\n // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked).\n if (bytes(_tokenURI).length > 0) {\n return string(abi.encodePacked(base, _tokenURI));\n }\n\n return super.tokenURI(tokenId);\n }\n\n /**\n * @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n require(_exists(tokenId), \"ERC721URIStorage: URI set of nonexistent token\");\n _tokenURIs[tokenId] = _tokenURI;\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n *\n * Emits a {Transfer} event.\n */\n function _burn(uint256 tokenId) internal virtual override {\n super._burn(tokenId);\n\n if (bytes(_tokenURIs[tokenId]).length != 0) {\n delete _tokenURIs[tokenId];\n }\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "exportedSymbols": { - "Address": [ - 1521 - ], - "Context": [ - 1543 - ], - "ERC165": [ - 1844 - ], - "ERC721": [ - 935 - ], - "ERC721URIStorage": [ - 1197 - ], - "IERC165": [ - 1856 - ], - "IERC721": [ - 1051 - ], - "IERC721Metadata": [ - 1224 - ], - "IERC721Receiver": [ - 1069 - ], - "Strings": [ - 1820 - ] - }, - "id": 1198, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1071, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "113:23:4" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "../ERC721.sol", - "id": 1072, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1198, - "sourceUnit": 936, - "src": "138:23:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1074, - "name": "ERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 935, - "src": "271:6:4" - }, - "id": 1075, - "nodeType": "InheritanceSpecifier", - "src": "271:6:4" - } - ], - "canonicalName": "ERC721URIStorage", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1073, - "nodeType": "StructuredDocumentation", - "src": "163:69:4", - "text": " @dev ERC721 token with storage based token URI management." - }, - "fullyImplemented": false, - "id": 1197, - "linearizedBaseContracts": [ - 1197, - 935, - 1224, - 1051, - 1844, - 1856, - 1543 - ], - "name": "ERC721URIStorage", - "nameLocation": "251:16:4", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1078, - "libraryName": { - "id": 1076, - "name": "Strings", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1820, - "src": "290:7:4" - }, - "nodeType": "UsingForDirective", - "src": "284:26:4", - "typeName": { - "id": 1077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "302:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 1082, - "mutability": "mutable", - "name": "_tokenURIs", - "nameLocation": "390:10:4", - "nodeType": "VariableDeclaration", - "scope": 1197, - "src": "355:45:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 1081, - "keyType": { - "id": 1079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "363:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "355:26:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 1080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "374:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "visibility": "private" - }, - { - "baseFunctions": [ - 312 - ], - "body": { - "id": 1143, - "nodeType": "Block", - "src": "555:575:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1093, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1085, - "src": "581:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1092, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "573:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "573:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524337323155524953746f726167653a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "591:51:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a", - "typeString": "literal_string \"ERC721URIStorage: URI query for nonexistent token\"" - }, - "value": "ERC721URIStorage: URI query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a", - "typeString": "literal_string \"ERC721URIStorage: URI query for nonexistent token\"" - } - ], - "id": 1091, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "565:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "565:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1097, - "nodeType": "ExpressionStatement", - "src": "565:78:4" - }, - { - "assignments": [ - 1099 - ], - "declarations": [ - { - "constant": false, - "id": 1099, - "mutability": "mutable", - "name": "_tokenURI", - "nameLocation": "668:9:4", - "nodeType": "VariableDeclaration", - "scope": 1143, - "src": "654:23:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "654:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1103, - "initialValue": { - "baseExpression": { - "id": 1100, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1082, - "src": "680:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1102, - "indexExpression": { - "id": 1101, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1085, - "src": "691:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "680:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "654:45:4" - }, - { - "assignments": [ - 1105 - ], - "declarations": [ - { - "constant": false, - "id": 1105, - "mutability": "mutable", - "name": "base", - "nameLocation": "723:4:4", - "nodeType": "VariableDeclaration", - "scope": 1143, - "src": "709:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1104, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "709:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1108, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1106, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 321, - "src": "730:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 1107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "730:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "709:31:4" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1111, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "819:4:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "813:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1109, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "813:5:4", - "typeDescriptions": {} - } - }, - "id": 1112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "813:11:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "813:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "835:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "813:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1119, - "nodeType": "IfStatement", - "src": "809:70:4", - "trueBody": { - "id": 1118, - "nodeType": "Block", - "src": "838:41:4", - "statements": [ - { - "expression": { - "id": 1116, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1099, - "src": "859:9:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1090, - "id": 1117, - "nodeType": "Return", - "src": "852:16:4" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1122, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1099, - "src": "987:9:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "981:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1120, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "981:5:4", - "typeDescriptions": {} - } - }, - "id": 1123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "981:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "981:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "981:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1137, - "nodeType": "IfStatement", - "src": "977:106:4", - "trueBody": { - "id": 1136, - "nodeType": "Block", - "src": "1010:73:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1131, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "1055:4:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 1132, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1099, - "src": "1061:9:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 1129, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "1038:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1038:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1038:33:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1031:6:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1127, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1031:6:4", - "typeDescriptions": {} - } - }, - "id": 1134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1031:41:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1090, - "id": 1135, - "nodeType": "Return", - "src": "1024:48:4" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 1140, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1085, - "src": "1115:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1138, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1100:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721URIStorage_$1197_$", - "typeString": "type(contract super ERC721URIStorage)" - } - }, - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenURI", - "nodeType": "MemberAccess", - "referencedDeclaration": 312, - "src": "1100:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view returns (string memory)" - } - }, - "id": 1141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1100:23:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1090, - "id": 1142, - "nodeType": "Return", - "src": "1093:30:4" - } - ] - }, - "documentation": { - "id": 1083, - "nodeType": "StructuredDocumentation", - "src": "407:55:4", - "text": " @dev See {IERC721Metadata-tokenURI}." - }, - "functionSelector": "c87b56dd", - "id": 1144, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "476:8:4", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1087, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "522:8:4" - }, - "parameters": { - "id": 1086, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1085, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "493:7:4", - "nodeType": "VariableDeclaration", - "scope": 1144, - "src": "485:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1084, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "485:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "484:17:4" - }, - "returnParameters": { - "id": 1090, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1089, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1144, - "src": "540:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1088, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "540:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "539:15:4" - }, - "scope": 1197, - "src": "467:663:4", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 1165, - "nodeType": "Block", - "src": "1358:133:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1154, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "1384:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1153, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "1376:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1376:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524337323155524953746f726167653a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", - "id": 1156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1394:48:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4", - "typeString": "literal_string \"ERC721URIStorage: URI set of nonexistent token\"" - }, - "value": "ERC721URIStorage: URI set of nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4", - "typeString": "literal_string \"ERC721URIStorage: URI set of nonexistent token\"" - } - ], - "id": 1152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1368:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1368:75:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1158, - "nodeType": "ExpressionStatement", - "src": "1368:75:4" - }, - { - "expression": { - "id": 1163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1159, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1082, - "src": "1453:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1161, - "indexExpression": { - "id": 1160, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "1464:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1453:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1162, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1149, - "src": "1475:9:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1453:31:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1164, - "nodeType": "ExpressionStatement", - "src": "1453:31:4" - } - ] - }, - "documentation": { - "id": 1145, - "nodeType": "StructuredDocumentation", - "src": "1136:136:4", - "text": " @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n Requirements:\n - `tokenId` must exist." - }, - "id": 1166, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenURI", - "nameLocation": "1286:12:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1150, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1147, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1307:7:4", - "nodeType": "VariableDeclaration", - "scope": 1166, - "src": "1299:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1299:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1149, - "mutability": "mutable", - "name": "_tokenURI", - "nameLocation": "1330:9:4", - "nodeType": "VariableDeclaration", - "scope": 1166, - "src": "1316:23:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1148, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1316:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1298:42:4" - }, - "returnParameters": { - "id": 1151, - "nodeType": "ParameterList", - "parameters": [], - "src": "1358:0:4" - }, - "scope": 1197, - "src": "1277:214:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 736 - ], - "body": { - "id": 1195, - "nodeType": "Block", - "src": "1766:142:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1176, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "1788:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1173, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1776:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721URIStorage_$1197_$", - "typeString": "type(contract super ERC721URIStorage)" - } - }, - "id": 1175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 736, - "src": "1776:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1776:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1178, - "nodeType": "ExpressionStatement", - "src": "1776:20:4" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 1181, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1082, - "src": "1817:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1183, - "indexExpression": { - "id": 1182, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "1828:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1817:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "id": 1180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1811:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1179, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1811:5:4", - "typeDescriptions": {} - } - }, - "id": 1184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1811:26:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1811:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 1186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1848:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1811:38:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1194, - "nodeType": "IfStatement", - "src": "1807:95:4", - "trueBody": { - "id": 1193, - "nodeType": "Block", - "src": "1851:51:4", - "statements": [ - { - "expression": { - "id": 1191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1865:26:4", - "subExpression": { - "baseExpression": { - "id": 1188, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1082, - "src": "1872:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1190, - "indexExpression": { - "id": 1189, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "1883:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1872:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1192, - "nodeType": "ExpressionStatement", - "src": "1865:26:4" - } - ] - } - } - ] - }, - "documentation": { - "id": 1167, - "nodeType": "StructuredDocumentation", - "src": "1497:206:4", - "text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event." - }, - "id": 1196, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "1717:5:4", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1171, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1757:8:4" - }, - "parameters": { - "id": 1170, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1169, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1731:7:4", - "nodeType": "VariableDeclaration", - "scope": 1196, - "src": "1723:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1723:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1722:17:4" - }, - "returnParameters": { - "id": 1172, - "nodeType": "ParameterList", - "parameters": [], - "src": "1766:0:4" - }, - "scope": 1197, - "src": "1708:200:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 1198, - "src": "233:1677:4", - "usedErrors": [] - } - ], - "src": "113:1798:4" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "exportedSymbols": { - "Address": [ - 1521 - ], - "Context": [ - 1543 - ], - "ERC165": [ - 1844 - ], - "ERC721": [ - 935 - ], - "ERC721URIStorage": [ - 1197 - ], - "IERC165": [ - 1856 - ], - "IERC721": [ - 1051 - ], - "IERC721Metadata": [ - 1224 - ], - "IERC721Receiver": [ - 1069 - ], - "Strings": [ - 1820 - ] - }, - "id": 1198, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1071, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "113:23:4" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "../ERC721.sol", - "id": 1072, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1198, - "sourceUnit": 936, - "src": "138:23:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1074, - "name": "ERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 935, - "src": "271:6:4" - }, - "id": 1075, - "nodeType": "InheritanceSpecifier", - "src": "271:6:4" - } - ], - "canonicalName": "ERC721URIStorage", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1073, - "nodeType": "StructuredDocumentation", - "src": "163:69:4", - "text": " @dev ERC721 token with storage based token URI management." - }, - "fullyImplemented": false, - "id": 1197, - "linearizedBaseContracts": [ - 1197, - 935, - 1224, - 1051, - 1844, - 1856, - 1543 - ], - "name": "ERC721URIStorage", - "nameLocation": "251:16:4", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1078, - "libraryName": { - "id": 1076, - "name": "Strings", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1820, - "src": "290:7:4" - }, - "nodeType": "UsingForDirective", - "src": "284:26:4", - "typeName": { - "id": 1077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "302:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 1082, - "mutability": "mutable", - "name": "_tokenURIs", - "nameLocation": "390:10:4", - "nodeType": "VariableDeclaration", - "scope": 1197, - "src": "355:45:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 1081, - "keyType": { - "id": 1079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "363:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "355:26:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 1080, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "374:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "visibility": "private" - }, - { - "baseFunctions": [ - 312 - ], - "body": { - "id": 1143, - "nodeType": "Block", - "src": "555:575:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1093, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1085, - "src": "581:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1092, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "573:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "573:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524337323155524953746f726167653a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "591:51:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a", - "typeString": "literal_string \"ERC721URIStorage: URI query for nonexistent token\"" - }, - "value": "ERC721URIStorage: URI query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8e9ed1638ba7e2d59e03d0957c9339381732ac84d73f65c86c45db1467eafa2a", - "typeString": "literal_string \"ERC721URIStorage: URI query for nonexistent token\"" - } - ], - "id": 1091, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "565:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "565:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1097, - "nodeType": "ExpressionStatement", - "src": "565:78:4" - }, - { - "assignments": [ - 1099 - ], - "declarations": [ - { - "constant": false, - "id": 1099, - "mutability": "mutable", - "name": "_tokenURI", - "nameLocation": "668:9:4", - "nodeType": "VariableDeclaration", - "scope": 1143, - "src": "654:23:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "654:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1103, - "initialValue": { - "baseExpression": { - "id": 1100, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1082, - "src": "680:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1102, - "indexExpression": { - "id": 1101, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1085, - "src": "691:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "680:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "654:45:4" - }, - { - "assignments": [ - 1105 - ], - "declarations": [ - { - "constant": false, - "id": 1105, - "mutability": "mutable", - "name": "base", - "nameLocation": "723:4:4", - "nodeType": "VariableDeclaration", - "scope": 1143, - "src": "709:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1104, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "709:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1108, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1106, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 321, - "src": "730:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 1107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "730:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "709:31:4" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1111, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "819:4:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "813:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1109, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "813:5:4", - "typeDescriptions": {} - } - }, - "id": 1112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "813:11:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "813:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "835:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "813:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1119, - "nodeType": "IfStatement", - "src": "809:70:4", - "trueBody": { - "id": 1118, - "nodeType": "Block", - "src": "838:41:4", - "statements": [ - { - "expression": { - "id": 1116, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1099, - "src": "859:9:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1090, - "id": 1117, - "nodeType": "Return", - "src": "852:16:4" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1122, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1099, - "src": "987:9:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "981:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1120, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "981:5:4", - "typeDescriptions": {} - } - }, - "id": 1123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "981:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "981:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "981:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1137, - "nodeType": "IfStatement", - "src": "977:106:4", - "trueBody": { - "id": 1136, - "nodeType": "Block", - "src": "1010:73:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1131, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "1055:4:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 1132, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1099, - "src": "1061:9:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 1129, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "1038:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1038:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1038:33:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1031:6:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1127, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1031:6:4", - "typeDescriptions": {} - } - }, - "id": 1134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1031:41:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1090, - "id": 1135, - "nodeType": "Return", - "src": "1024:48:4" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 1140, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1085, - "src": "1115:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1138, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1100:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721URIStorage_$1197_$", - "typeString": "type(contract super ERC721URIStorage)" - } - }, - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenURI", - "nodeType": "MemberAccess", - "referencedDeclaration": 312, - "src": "1100:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view returns (string memory)" - } - }, - "id": 1141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1100:23:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1090, - "id": 1142, - "nodeType": "Return", - "src": "1093:30:4" - } - ] - }, - "documentation": { - "id": 1083, - "nodeType": "StructuredDocumentation", - "src": "407:55:4", - "text": " @dev See {IERC721Metadata-tokenURI}." - }, - "functionSelector": "c87b56dd", - "id": 1144, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "476:8:4", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1087, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "522:8:4" - }, - "parameters": { - "id": 1086, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1085, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "493:7:4", - "nodeType": "VariableDeclaration", - "scope": 1144, - "src": "485:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1084, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "485:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "484:17:4" - }, - "returnParameters": { - "id": 1090, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1089, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1144, - "src": "540:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1088, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "540:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "539:15:4" - }, - "scope": 1197, - "src": "467:663:4", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 1165, - "nodeType": "Block", - "src": "1358:133:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1154, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "1384:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1153, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "1376:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1376:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524337323155524953746f726167653a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", - "id": 1156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1394:48:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4", - "typeString": "literal_string \"ERC721URIStorage: URI set of nonexistent token\"" - }, - "value": "ERC721URIStorage: URI set of nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4", - "typeString": "literal_string \"ERC721URIStorage: URI set of nonexistent token\"" - } - ], - "id": 1152, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1368:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1368:75:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1158, - "nodeType": "ExpressionStatement", - "src": "1368:75:4" - }, - { - "expression": { - "id": 1163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1159, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1082, - "src": "1453:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1161, - "indexExpression": { - "id": 1160, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "1464:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1453:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1162, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1149, - "src": "1475:9:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1453:31:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1164, - "nodeType": "ExpressionStatement", - "src": "1453:31:4" - } - ] - }, - "documentation": { - "id": 1145, - "nodeType": "StructuredDocumentation", - "src": "1136:136:4", - "text": " @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n Requirements:\n - `tokenId` must exist." - }, - "id": 1166, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenURI", - "nameLocation": "1286:12:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1150, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1147, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1307:7:4", - "nodeType": "VariableDeclaration", - "scope": 1166, - "src": "1299:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1299:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1149, - "mutability": "mutable", - "name": "_tokenURI", - "nameLocation": "1330:9:4", - "nodeType": "VariableDeclaration", - "scope": 1166, - "src": "1316:23:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1148, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1316:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1298:42:4" - }, - "returnParameters": { - "id": 1151, - "nodeType": "ParameterList", - "parameters": [], - "src": "1358:0:4" - }, - "scope": 1197, - "src": "1277:214:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 736 - ], - "body": { - "id": 1195, - "nodeType": "Block", - "src": "1766:142:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1176, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "1788:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1173, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1776:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721URIStorage_$1197_$", - "typeString": "type(contract super ERC721URIStorage)" - } - }, - "id": 1175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 736, - "src": "1776:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1776:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1178, - "nodeType": "ExpressionStatement", - "src": "1776:20:4" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 1181, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1082, - "src": "1817:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1183, - "indexExpression": { - "id": 1182, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "1828:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1817:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "id": 1180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1811:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1179, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1811:5:4", - "typeDescriptions": {} - } - }, - "id": 1184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1811:26:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1811:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 1186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1848:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1811:38:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1194, - "nodeType": "IfStatement", - "src": "1807:95:4", - "trueBody": { - "id": 1193, - "nodeType": "Block", - "src": "1851:51:4", - "statements": [ - { - "expression": { - "id": 1191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1865:26:4", - "subExpression": { - "baseExpression": { - "id": 1188, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1082, - "src": "1872:10:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1190, - "indexExpression": { - "id": 1189, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1169, - "src": "1883:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1872:19:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1192, - "nodeType": "ExpressionStatement", - "src": "1865:26:4" - } - ] - } - } - ] - }, - "documentation": { - "id": 1167, - "nodeType": "StructuredDocumentation", - "src": "1497:206:4", - "text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event." - }, - "id": 1196, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "1717:5:4", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1171, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1757:8:4" - }, - "parameters": { - "id": 1170, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1169, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1731:7:4", - "nodeType": "VariableDeclaration", - "scope": 1196, - "src": "1723:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1723:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1722:17:4" - }, - "returnParameters": { - "id": 1172, - "nodeType": "ParameterList", - "parameters": [], - "src": "1766:0:4" - }, - "scope": 1197, - "src": "1708:200:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 1198, - "src": "233:1677:4", - "usedErrors": [] - } - ], - "src": "113:1798:4" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.596Z", - "devdoc": { - "details": "ERC721 token with storage based token URI management.", - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/IERC165.json b/build2/contracts/IERC165.json deleted file mode 100644 index 4749803..0000000 --- a/build2/contracts/IERC165.json +++ /dev/null @@ -1,336 +0,0 @@ -{ - "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 - } -} \ No newline at end of file diff --git a/build2/contracts/IERC721.json b/build2/contracts/IERC721.json deleted file mode 100644 index 69f0cc5..0000000 --- a/build2/contracts/IERC721.json +++ /dev/null @@ -1,3050 +0,0 @@ -{ - "contractName": "IERC721", - "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": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "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": "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": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "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": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "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": "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" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"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\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@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 (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @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 *\n * Requirements:\n *\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 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 *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n *\n * Requirements:\n *\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 *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @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 *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool _approved) external;\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\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 *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId,\n bytes calldata data\n ) external;\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "exportedSymbols": { - "IERC165": [ - 1856 - ], - "IERC721": [ - 1051 - ] - }, - "id": 1052, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 937, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "93:23:2" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "file": "../../utils/introspection/IERC165.sol", - "id": 938, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1052, - "sourceUnit": 1857, - "src": "118:47:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 940, - "name": "IERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1856, - "src": "256:7:2" - }, - "id": 941, - "nodeType": "InheritanceSpecifier", - "src": "256:7:2" - } - ], - "canonicalName": "IERC721", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 939, - "nodeType": "StructuredDocumentation", - "src": "167:67:2", - "text": " @dev Required interface of an ERC721 compliant contract." - }, - "fullyImplemented": false, - "id": 1051, - "linearizedBaseContracts": [ - 1051, - 1856 - ], - "name": "IERC721", - "nameLocation": "245:7:2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": { - "id": 942, - "nodeType": "StructuredDocumentation", - "src": "270:88:2", - "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." - }, - "id": 950, - "name": "Transfer", - "nameLocation": "369:8:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 949, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 944, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "394:4:2", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "378:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "378:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 946, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "416:2:2", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "400:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 945, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "400:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 948, - "indexed": true, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "436:7:2", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "420:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "420:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "377:67:2" - }, - "src": "363:82:2" - }, - { - "anonymous": false, - "documentation": { - "id": 951, - "nodeType": "StructuredDocumentation", - "src": "451:94:2", - "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." - }, - "id": 959, - "name": "Approval", - "nameLocation": "556:8:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 958, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 953, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "581:5:2", - "nodeType": "VariableDeclaration", - "scope": 959, - "src": "565:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 952, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "565:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 955, - "indexed": true, - "mutability": "mutable", - "name": "approved", - "nameLocation": "604:8:2", - "nodeType": "VariableDeclaration", - "scope": 959, - "src": "588:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 954, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "588:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 957, - "indexed": true, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "630:7:2", - "nodeType": "VariableDeclaration", - "scope": 959, - "src": "614:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "564:74:2" - }, - "src": "550:89:2" - }, - { - "anonymous": false, - "documentation": { - "id": 960, - "nodeType": "StructuredDocumentation", - "src": "645:117:2", - "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." - }, - "id": 968, - "name": "ApprovalForAll", - "nameLocation": "773:14:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 962, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "804:5:2", - "nodeType": "VariableDeclaration", - "scope": 968, - "src": "788:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "788:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 964, - "indexed": true, - "mutability": "mutable", - "name": "operator", - "nameLocation": "827:8:2", - "nodeType": "VariableDeclaration", - "scope": 968, - "src": "811:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 963, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "811:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 966, - "indexed": false, - "mutability": "mutable", - "name": "approved", - "nameLocation": "842:8:2", - "nodeType": "VariableDeclaration", - "scope": 968, - "src": "837:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 965, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "837:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "787:64:2" - }, - "src": "767:85:2" - }, - { - "documentation": { - "id": 969, - "nodeType": "StructuredDocumentation", - "src": "858:76:2", - "text": " @dev Returns the number of tokens in ``owner``'s account." - }, - "functionSelector": "70a08231", - "id": 976, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "948:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 971, - "mutability": "mutable", - "name": "owner", - "nameLocation": "966:5:2", - "nodeType": "VariableDeclaration", - "scope": 976, - "src": "958:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 970, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "958:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "957:15:2" - }, - "returnParameters": { - "id": 975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 974, - "mutability": "mutable", - "name": "balance", - "nameLocation": "1004:7:2", - "nodeType": "VariableDeclaration", - "scope": 976, - "src": "996:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "996:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "995:17:2" - }, - "scope": 1051, - "src": "939:74:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 977, - "nodeType": "StructuredDocumentation", - "src": "1019:131:2", - "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." - }, - "functionSelector": "6352211e", - "id": 984, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nameLocation": "1164:7:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 979, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1180:7:2", - "nodeType": "VariableDeclaration", - "scope": 984, - "src": "1172:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1172:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1171:17:2" - }, - "returnParameters": { - "id": 983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 982, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1220:5:2", - "nodeType": "VariableDeclaration", - "scope": 984, - "src": "1212:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 981, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1212:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1211:15:2" - }, - "scope": 1051, - "src": "1155:72:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 985, - "nodeType": "StructuredDocumentation", - "src": "1233:690:2", - "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 be 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": 994, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "1937:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 992, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 987, - "mutability": "mutable", - "name": "from", - "nameLocation": "1971:4:2", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "1963:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 986, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1963:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 989, - "mutability": "mutable", - "name": "to", - "nameLocation": "1993:2:2", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "1985:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 988, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1985:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 991, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2013:7:2", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "2005:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 990, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2005:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1953:73:2" - }, - "returnParameters": { - "id": 993, - "nodeType": "ParameterList", - "parameters": [], - "src": "2035:0:2" - }, - "scope": 1051, - "src": "1928:108:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 995, - "nodeType": "StructuredDocumentation", - "src": "2042:504:2", - "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\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": 1004, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "2560:12:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 997, - "mutability": "mutable", - "name": "from", - "nameLocation": "2590:4:2", - "nodeType": "VariableDeclaration", - "scope": 1004, - "src": "2582:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2582:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 999, - "mutability": "mutable", - "name": "to", - "nameLocation": "2612:2:2", - "nodeType": "VariableDeclaration", - "scope": 1004, - "src": "2604:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2604:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1001, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2632:7:2", - "nodeType": "VariableDeclaration", - "scope": 1004, - "src": "2624:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1000, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2624:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2572:73:2" - }, - "returnParameters": { - "id": 1003, - "nodeType": "ParameterList", - "parameters": [], - "src": "2654:0:2" - }, - "scope": 1051, - "src": "2551:104:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1005, - "nodeType": "StructuredDocumentation", - "src": "2661:452:2", - "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": 1012, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "3127:7:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1007, - "mutability": "mutable", - "name": "to", - "nameLocation": "3143:2:2", - "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "3135:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3135:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1009, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3155:7:2", - "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "3147:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3147:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3134:29:2" - }, - "returnParameters": { - "id": 1011, - "nodeType": "ParameterList", - "parameters": [], - "src": "3172:0:2" - }, - "scope": 1051, - "src": "3118:55:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1013, - "nodeType": "StructuredDocumentation", - "src": "3179:139:2", - "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." - }, - "functionSelector": "081812fc", - "id": 1020, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nameLocation": "3332:11:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1015, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3352:7:2", - "nodeType": "VariableDeclaration", - "scope": 1020, - "src": "3344:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3344:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3343:17:2" - }, - "returnParameters": { - "id": 1019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1018, - "mutability": "mutable", - "name": "operator", - "nameLocation": "3392:8:2", - "nodeType": "VariableDeclaration", - "scope": 1020, - "src": "3384:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1017, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3384:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3383:18:2" - }, - "scope": 1051, - "src": "3323:79:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1021, - "nodeType": "StructuredDocumentation", - "src": "3408:309:2", - "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": 1028, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nameLocation": "3731:17:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1023, - "mutability": "mutable", - "name": "operator", - "nameLocation": "3757:8:2", - "nodeType": "VariableDeclaration", - "scope": 1028, - "src": "3749:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3749:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1025, - "mutability": "mutable", - "name": "_approved", - "nameLocation": "3772:9:2", - "nodeType": "VariableDeclaration", - "scope": 1028, - "src": "3767:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1024, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3767:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3748:34:2" - }, - "returnParameters": { - "id": 1027, - "nodeType": "ParameterList", - "parameters": [], - "src": "3791:0:2" - }, - "scope": 1051, - "src": "3722:70:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1029, - "nodeType": "StructuredDocumentation", - "src": "3798:138:2", - "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" - }, - "functionSelector": "e985e9c5", - "id": 1038, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nameLocation": "3950:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1034, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1031, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3975:5:2", - "nodeType": "VariableDeclaration", - "scope": 1038, - "src": "3967:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1030, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3967:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1033, - "mutability": "mutable", - "name": "operator", - "nameLocation": "3990:8:2", - "nodeType": "VariableDeclaration", - "scope": 1038, - "src": "3982:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1032, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3982:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3966:33:2" - }, - "returnParameters": { - "id": 1037, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1036, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1038, - "src": "4023:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1035, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4023:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4022:6:2" - }, - "scope": 1051, - "src": "3941:88:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1039, - "nodeType": "StructuredDocumentation", - "src": "4035:556:2", - "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": 1050, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "4605:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1048, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1041, - "mutability": "mutable", - "name": "from", - "nameLocation": "4639:4:2", - "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "4631:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1040, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4631:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1043, - "mutability": "mutable", - "name": "to", - "nameLocation": "4661:2:2", - "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "4653:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4653:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1045, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4681:7:2", - "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "4673:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1047, - "mutability": "mutable", - "name": "data", - "nameLocation": "4713:4:2", - "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "4698:19:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1046, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4698:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4621:102:2" - }, - "returnParameters": { - "id": 1049, - "nodeType": "ParameterList", - "parameters": [], - "src": "4732:0:2" - }, - "scope": 1051, - "src": "4596:137:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1052, - "src": "235:4500:2", - "usedErrors": [] - } - ], - "src": "93:4643:2" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "exportedSymbols": { - "IERC165": [ - 1856 - ], - "IERC721": [ - 1051 - ] - }, - "id": 1052, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 937, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "93:23:2" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "file": "../../utils/introspection/IERC165.sol", - "id": 938, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1052, - "sourceUnit": 1857, - "src": "118:47:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 940, - "name": "IERC165", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1856, - "src": "256:7:2" - }, - "id": 941, - "nodeType": "InheritanceSpecifier", - "src": "256:7:2" - } - ], - "canonicalName": "IERC721", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 939, - "nodeType": "StructuredDocumentation", - "src": "167:67:2", - "text": " @dev Required interface of an ERC721 compliant contract." - }, - "fullyImplemented": false, - "id": 1051, - "linearizedBaseContracts": [ - 1051, - 1856 - ], - "name": "IERC721", - "nameLocation": "245:7:2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": { - "id": 942, - "nodeType": "StructuredDocumentation", - "src": "270:88:2", - "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." - }, - "id": 950, - "name": "Transfer", - "nameLocation": "369:8:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 949, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 944, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "394:4:2", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "378:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "378:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 946, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "416:2:2", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "400:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 945, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "400:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 948, - "indexed": true, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "436:7:2", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "420:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "420:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "377:67:2" - }, - "src": "363:82:2" - }, - { - "anonymous": false, - "documentation": { - "id": 951, - "nodeType": "StructuredDocumentation", - "src": "451:94:2", - "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." - }, - "id": 959, - "name": "Approval", - "nameLocation": "556:8:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 958, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 953, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "581:5:2", - "nodeType": "VariableDeclaration", - "scope": 959, - "src": "565:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 952, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "565:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 955, - "indexed": true, - "mutability": "mutable", - "name": "approved", - "nameLocation": "604:8:2", - "nodeType": "VariableDeclaration", - "scope": 959, - "src": "588:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 954, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "588:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 957, - "indexed": true, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "630:7:2", - "nodeType": "VariableDeclaration", - "scope": 959, - "src": "614:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "614:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "564:74:2" - }, - "src": "550:89:2" - }, - { - "anonymous": false, - "documentation": { - "id": 960, - "nodeType": "StructuredDocumentation", - "src": "645:117:2", - "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." - }, - "id": 968, - "name": "ApprovalForAll", - "nameLocation": "773:14:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 962, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "804:5:2", - "nodeType": "VariableDeclaration", - "scope": 968, - "src": "788:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "788:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 964, - "indexed": true, - "mutability": "mutable", - "name": "operator", - "nameLocation": "827:8:2", - "nodeType": "VariableDeclaration", - "scope": 968, - "src": "811:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 963, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "811:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 966, - "indexed": false, - "mutability": "mutable", - "name": "approved", - "nameLocation": "842:8:2", - "nodeType": "VariableDeclaration", - "scope": 968, - "src": "837:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 965, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "837:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "787:64:2" - }, - "src": "767:85:2" - }, - { - "documentation": { - "id": 969, - "nodeType": "StructuredDocumentation", - "src": "858:76:2", - "text": " @dev Returns the number of tokens in ``owner``'s account." - }, - "functionSelector": "70a08231", - "id": 976, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "948:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 971, - "mutability": "mutable", - "name": "owner", - "nameLocation": "966:5:2", - "nodeType": "VariableDeclaration", - "scope": 976, - "src": "958:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 970, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "958:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "957:15:2" - }, - "returnParameters": { - "id": 975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 974, - "mutability": "mutable", - "name": "balance", - "nameLocation": "1004:7:2", - "nodeType": "VariableDeclaration", - "scope": 976, - "src": "996:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "996:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "995:17:2" - }, - "scope": 1051, - "src": "939:74:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 977, - "nodeType": "StructuredDocumentation", - "src": "1019:131:2", - "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." - }, - "functionSelector": "6352211e", - "id": 984, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nameLocation": "1164:7:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 979, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1180:7:2", - "nodeType": "VariableDeclaration", - "scope": 984, - "src": "1172:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1172:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1171:17:2" - }, - "returnParameters": { - "id": 983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 982, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1220:5:2", - "nodeType": "VariableDeclaration", - "scope": 984, - "src": "1212:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 981, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1212:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1211:15:2" - }, - "scope": 1051, - "src": "1155:72:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 985, - "nodeType": "StructuredDocumentation", - "src": "1233:690:2", - "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 be 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": 994, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "1937:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 992, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 987, - "mutability": "mutable", - "name": "from", - "nameLocation": "1971:4:2", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "1963:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 986, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1963:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 989, - "mutability": "mutable", - "name": "to", - "nameLocation": "1993:2:2", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "1985:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 988, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1985:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 991, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2013:7:2", - "nodeType": "VariableDeclaration", - "scope": 994, - "src": "2005:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 990, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2005:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1953:73:2" - }, - "returnParameters": { - "id": 993, - "nodeType": "ParameterList", - "parameters": [], - "src": "2035:0:2" - }, - "scope": 1051, - "src": "1928:108:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 995, - "nodeType": "StructuredDocumentation", - "src": "2042:504:2", - "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\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": 1004, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "2560:12:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 997, - "mutability": "mutable", - "name": "from", - "nameLocation": "2590:4:2", - "nodeType": "VariableDeclaration", - "scope": 1004, - "src": "2582:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2582:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 999, - "mutability": "mutable", - "name": "to", - "nameLocation": "2612:2:2", - "nodeType": "VariableDeclaration", - "scope": 1004, - "src": "2604:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2604:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1001, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2632:7:2", - "nodeType": "VariableDeclaration", - "scope": 1004, - "src": "2624:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1000, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2624:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2572:73:2" - }, - "returnParameters": { - "id": 1003, - "nodeType": "ParameterList", - "parameters": [], - "src": "2654:0:2" - }, - "scope": 1051, - "src": "2551:104:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1005, - "nodeType": "StructuredDocumentation", - "src": "2661:452:2", - "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": 1012, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "3127:7:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1007, - "mutability": "mutable", - "name": "to", - "nameLocation": "3143:2:2", - "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "3135:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3135:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1009, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3155:7:2", - "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "3147:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3147:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3134:29:2" - }, - "returnParameters": { - "id": 1011, - "nodeType": "ParameterList", - "parameters": [], - "src": "3172:0:2" - }, - "scope": 1051, - "src": "3118:55:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1013, - "nodeType": "StructuredDocumentation", - "src": "3179:139:2", - "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." - }, - "functionSelector": "081812fc", - "id": 1020, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nameLocation": "3332:11:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1015, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3352:7:2", - "nodeType": "VariableDeclaration", - "scope": 1020, - "src": "3344:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3344:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3343:17:2" - }, - "returnParameters": { - "id": 1019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1018, - "mutability": "mutable", - "name": "operator", - "nameLocation": "3392:8:2", - "nodeType": "VariableDeclaration", - "scope": 1020, - "src": "3384:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1017, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3384:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3383:18:2" - }, - "scope": 1051, - "src": "3323:79:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1021, - "nodeType": "StructuredDocumentation", - "src": "3408:309:2", - "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": 1028, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nameLocation": "3731:17:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1023, - "mutability": "mutable", - "name": "operator", - "nameLocation": "3757:8:2", - "nodeType": "VariableDeclaration", - "scope": 1028, - "src": "3749:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3749:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1025, - "mutability": "mutable", - "name": "_approved", - "nameLocation": "3772:9:2", - "nodeType": "VariableDeclaration", - "scope": 1028, - "src": "3767:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1024, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3767:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3748:34:2" - }, - "returnParameters": { - "id": 1027, - "nodeType": "ParameterList", - "parameters": [], - "src": "3791:0:2" - }, - "scope": 1051, - "src": "3722:70:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1029, - "nodeType": "StructuredDocumentation", - "src": "3798:138:2", - "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" - }, - "functionSelector": "e985e9c5", - "id": 1038, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nameLocation": "3950:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1034, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1031, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3975:5:2", - "nodeType": "VariableDeclaration", - "scope": 1038, - "src": "3967:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1030, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3967:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1033, - "mutability": "mutable", - "name": "operator", - "nameLocation": "3990:8:2", - "nodeType": "VariableDeclaration", - "scope": 1038, - "src": "3982:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1032, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3982:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3966:33:2" - }, - "returnParameters": { - "id": 1037, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1036, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1038, - "src": "4023:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1035, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4023:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4022:6:2" - }, - "scope": 1051, - "src": "3941:88:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1039, - "nodeType": "StructuredDocumentation", - "src": "4035:556:2", - "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": 1050, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "4605:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1048, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1041, - "mutability": "mutable", - "name": "from", - "nameLocation": "4639:4:2", - "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "4631:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1040, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4631:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1043, - "mutability": "mutable", - "name": "to", - "nameLocation": "4661:2:2", - "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "4653:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4653:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1045, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4681:7:2", - "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "4673:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4673:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1047, - "mutability": "mutable", - "name": "data", - "nameLocation": "4713:4:2", - "nodeType": "VariableDeclaration", - "scope": 1050, - "src": "4698:19:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1046, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4698:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4621:102:2" - }, - "returnParameters": { - "id": 1049, - "nodeType": "ParameterList", - "parameters": [], - "src": "4732:0:2" - }, - "scope": 1051, - "src": "4596:137:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1052, - "src": "235:4500:2", - "usedErrors": [] - } - ], - "src": "93:4643:2" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.595Z", - "devdoc": { - "details": "Required interface of an ERC721 compliant contract.", - "events": { - "Approval(address,address,uint256)": { - "details": "Emitted when `owner` enables `approved` to manage the `tokenId` token." - }, - "ApprovalForAll(address,address,bool)": { - "details": "Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." - }, - "Transfer(address,address,uint256)": { - "details": "Emitted when `tokenId` token is transferred from `from` to `to`." - } - }, - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "setApprovalForAll(address,bool)": { - "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." - }, - "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." - }, - "transferFrom(address,address,uint256)": { - "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/IERC721Metadata.json b/build2/contracts/IERC721Metadata.json deleted file mode 100644 index 9747751..0000000 --- a/build2/contracts/IERC721Metadata.json +++ /dev/null @@ -1,994 +0,0 @@ -{ - "contractName": "IERC721Metadata", - "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" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"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\":[],\"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\":\"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\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@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 (token/ERC721/extensions/IERC721Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Metadata is IERC721 {\n /**\n * @dev Returns the token collection name.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the token collection symbol.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\n */\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", - "exportedSymbols": { - "IERC165": [ - 1856 - ], - "IERC721": [ - 1051 - ], - "IERC721Metadata": [ - 1224 - ] - }, - "id": 1225, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1199, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "112:23:5" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "../IERC721.sol", - "id": 1200, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1225, - "sourceUnit": 1052, - "src": "137:24:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1202, - "name": "IERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1051, - "src": "326:7:5" - }, - "id": 1203, - "nodeType": "InheritanceSpecifier", - "src": "326:7:5" - } - ], - "canonicalName": "IERC721Metadata", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1201, - "nodeType": "StructuredDocumentation", - "src": "163:133:5", - "text": " @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" - }, - "fullyImplemented": false, - "id": 1224, - "linearizedBaseContracts": [ - 1224, - 1051, - 1856 - ], - "name": "IERC721Metadata", - "nameLocation": "307:15:5", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1204, - "nodeType": "StructuredDocumentation", - "src": "340:58:5", - "text": " @dev Returns the token collection name." - }, - "functionSelector": "06fdde03", - "id": 1209, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "412:4:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1205, - "nodeType": "ParameterList", - "parameters": [], - "src": "416:2:5" - }, - "returnParameters": { - "id": 1208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1207, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "442:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1206, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "442:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "441:15:5" - }, - "scope": 1224, - "src": "403:54:5", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1210, - "nodeType": "StructuredDocumentation", - "src": "463:60:5", - "text": " @dev Returns the token collection symbol." - }, - "functionSelector": "95d89b41", - "id": 1215, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "537:6:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1211, - "nodeType": "ParameterList", - "parameters": [], - "src": "543:2:5" - }, - "returnParameters": { - "id": 1214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1213, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1215, - "src": "569:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1212, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "569:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "568:15:5" - }, - "scope": 1224, - "src": "528:56:5", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1216, - "nodeType": "StructuredDocumentation", - "src": "590:90:5", - "text": " @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token." - }, - "functionSelector": "c87b56dd", - "id": 1223, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "694:8:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1218, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "711:7:5", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "703:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "703:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "702:17:5" - }, - "returnParameters": { - "id": 1222, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1221, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "743:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1220, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "743:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "742:15:5" - }, - "scope": 1224, - "src": "685:73:5", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1225, - "src": "297:463:5", - "usedErrors": [] - } - ], - "src": "112:649:5" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", - "exportedSymbols": { - "IERC165": [ - 1856 - ], - "IERC721": [ - 1051 - ], - "IERC721Metadata": [ - 1224 - ] - }, - "id": 1225, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1199, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "112:23:5" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "../IERC721.sol", - "id": 1200, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1225, - "sourceUnit": 1052, - "src": "137:24:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1202, - "name": "IERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1051, - "src": "326:7:5" - }, - "id": 1203, - "nodeType": "InheritanceSpecifier", - "src": "326:7:5" - } - ], - "canonicalName": "IERC721Metadata", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1201, - "nodeType": "StructuredDocumentation", - "src": "163:133:5", - "text": " @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" - }, - "fullyImplemented": false, - "id": 1224, - "linearizedBaseContracts": [ - 1224, - 1051, - 1856 - ], - "name": "IERC721Metadata", - "nameLocation": "307:15:5", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1204, - "nodeType": "StructuredDocumentation", - "src": "340:58:5", - "text": " @dev Returns the token collection name." - }, - "functionSelector": "06fdde03", - "id": 1209, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "412:4:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1205, - "nodeType": "ParameterList", - "parameters": [], - "src": "416:2:5" - }, - "returnParameters": { - "id": 1208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1207, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "442:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1206, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "442:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "441:15:5" - }, - "scope": 1224, - "src": "403:54:5", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1210, - "nodeType": "StructuredDocumentation", - "src": "463:60:5", - "text": " @dev Returns the token collection symbol." - }, - "functionSelector": "95d89b41", - "id": 1215, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "537:6:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1211, - "nodeType": "ParameterList", - "parameters": [], - "src": "543:2:5" - }, - "returnParameters": { - "id": 1214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1213, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1215, - "src": "569:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1212, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "569:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "568:15:5" - }, - "scope": 1224, - "src": "528:56:5", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1216, - "nodeType": "StructuredDocumentation", - "src": "590:90:5", - "text": " @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token." - }, - "functionSelector": "c87b56dd", - "id": 1223, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "694:8:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1218, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "711:7:5", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "703:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "703:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "702:17:5" - }, - "returnParameters": { - "id": 1222, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1221, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "743:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1220, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "743:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "742:15:5" - }, - "scope": 1224, - "src": "685:73:5", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1225, - "src": "297:463:5", - "usedErrors": [] - } - ], - "src": "112:649:5" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.597Z", - "devdoc": { - "details": "See https://eips.ethereum.org/EIPS/eip-721", - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" - }, - "name()": { - "details": "Returns the token collection name." - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "setApprovalForAll(address,bool)": { - "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." - }, - "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." - }, - "symbol()": { - "details": "Returns the token collection symbol." - }, - "tokenURI(uint256)": { - "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." - }, - "transferFrom(address,address,uint256)": { - "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." - } - }, - "title": "ERC-721 Non-Fungible Token Standard, optional metadata extension", - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/IERC721Receiver.json b/build2/contracts/IERC721Receiver.json deleted file mode 100644 index ea65036..0000000 --- a/build2/contracts/IERC721Receiver.json +++ /dev/null @@ -1,518 +0,0 @@ -{ - "contractName": "IERC721Receiver", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd5fa74b4fb323776fa4a8158800fec9d5ac0fec0d6dd046dd93798632ada265f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33017a30a99cc5411a9e376622c31fc4a55cfc6a335e2f57f00cbf24a817ff3f\",\"dweb:/ipfs/QmWNQtWTPhA7Lo8nbxbc8KFMvZwbFYB8fSeEQ3vuapSV4a\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/IERC721Receiver.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n /**\n * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n * by `operator` from `from`, this function is called.\n *\n * It must return its Solidity selector to confirm the token transfer.\n * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n *\n * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.\n */\n function onERC721Received(\n address operator,\n address from,\n uint256 tokenId,\n bytes calldata data\n ) external returns (bytes4);\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "exportedSymbols": { - "IERC721Receiver": [ - 1069 - ] - }, - "id": 1070, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1053, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "101:23:3" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC721Receiver", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1054, - "nodeType": "StructuredDocumentation", - "src": "126:152:3", - "text": " @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts." - }, - "fullyImplemented": false, - "id": 1069, - "linearizedBaseContracts": [ - 1069 - ], - "name": "IERC721Receiver", - "nameLocation": "289:15:3", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1055, - "nodeType": "StructuredDocumentation", - "src": "311:485:3", - "text": " @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`." - }, - "functionSelector": "150b7a02", - "id": 1068, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nameLocation": "810:16:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "mutability": "mutable", - "name": "operator", - "nameLocation": "844:8:3", - "nodeType": "VariableDeclaration", - "scope": 1068, - "src": "836:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1056, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "836:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1059, - "mutability": "mutable", - "name": "from", - "nameLocation": "870:4:3", - "nodeType": "VariableDeclaration", - "scope": 1068, - "src": "862:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1058, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "862:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1061, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "892:7:3", - "nodeType": "VariableDeclaration", - "scope": 1068, - "src": "884:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1060, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "884:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1063, - "mutability": "mutable", - "name": "data", - "nameLocation": "924:4:3", - "nodeType": "VariableDeclaration", - "scope": 1068, - "src": "909:19:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1062, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "909:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "826:108:3" - }, - "returnParameters": { - "id": 1067, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1066, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1068, - "src": "953:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1065, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "953:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "952:8:3" - }, - "scope": 1069, - "src": "801:160:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1070, - "src": "279:684:3", - "usedErrors": [] - } - ], - "src": "101:863:3" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "exportedSymbols": { - "IERC721Receiver": [ - 1069 - ] - }, - "id": 1070, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1053, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "101:23:3" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC721Receiver", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1054, - "nodeType": "StructuredDocumentation", - "src": "126:152:3", - "text": " @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts." - }, - "fullyImplemented": false, - "id": 1069, - "linearizedBaseContracts": [ - 1069 - ], - "name": "IERC721Receiver", - "nameLocation": "289:15:3", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1055, - "nodeType": "StructuredDocumentation", - "src": "311:485:3", - "text": " @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`." - }, - "functionSelector": "150b7a02", - "id": 1068, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nameLocation": "810:16:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "mutability": "mutable", - "name": "operator", - "nameLocation": "844:8:3", - "nodeType": "VariableDeclaration", - "scope": 1068, - "src": "836:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1056, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "836:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1059, - "mutability": "mutable", - "name": "from", - "nameLocation": "870:4:3", - "nodeType": "VariableDeclaration", - "scope": 1068, - "src": "862:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1058, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "862:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1061, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "892:7:3", - "nodeType": "VariableDeclaration", - "scope": 1068, - "src": "884:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1060, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "884:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1063, - "mutability": "mutable", - "name": "data", - "nameLocation": "924:4:3", - "nodeType": "VariableDeclaration", - "scope": 1068, - "src": "909:19:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1062, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "909:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "826:108:3" - }, - "returnParameters": { - "id": 1067, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1066, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1068, - "src": "953:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1065, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "953:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "952:8:3" - }, - "scope": 1069, - "src": "801:160:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1070, - "src": "279:684:3", - "usedErrors": [] - } - ], - "src": "101:863:3" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.596Z", - "devdoc": { - "details": "Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.", - "kind": "dev", - "methods": { - "onERC721Received(address,address,uint256,bytes)": { - "details": "Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`." - } - }, - "title": "ERC721 token receiver interface", - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/Migrations.json b/build2/contracts/Migrations.json deleted file mode 100644 index 6f60eef..0000000 --- a/build2/contracts/Migrations.json +++ /dev/null @@ -1,1488 +0,0 @@ -{ - "contractName": "Migrations", - "abi": [ - { - "inputs": [], - "name": "last_completed_migration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "completed", - "type": "uint256" - } - ], - "name": "setCompleted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/Migrations.sol\":{\"keccak256\":\"0xb5806dfb94b7e111177b0c88f11a3ca041004e8e1c83d46fb781f3df0ea20672\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1519a9c3ecf126400b366104cddbd2513c92f0b34a9090a7d5413d990ba4c5a5\",\"dweb:/ipfs/QmT9T6hofePtB8MAFZsJkGhiFyuwq2nKtZxazB1iUag8KP\"]}},\"version\":1}", - "bytecode": "0x6080604052600080546001600160a01b0319163317905534801561002257600080fd5b50610170806100326000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610062578063fdacd5761461008d575b600080fd5b61004f60015481565b6040519081526020015b60405180910390f35b600054610075906001600160a01b031681565b6040516001600160a01b039091168152602001610059565b6100a061009b366004610121565b6100a2565b005b6000546001600160a01b0316331461011c5760405162461bcd60e51b815260206004820152603360248201527f546869732066756e6374696f6e206973207265737472696374656420746f207460448201527234329031b7b73a3930b1ba13b99037bbb732b960691b606482015260840160405180910390fd5b600155565b60006020828403121561013357600080fd5b503591905056fea264697066735822122004988b9f681bb343d8a46460851ca74420911aee8e648413b8acb471a1ba203464736f6c634300080b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610062578063fdacd5761461008d575b600080fd5b61004f60015481565b6040519081526020015b60405180910390f35b600054610075906001600160a01b031681565b6040516001600160a01b039091168152602001610059565b6100a061009b366004610121565b6100a2565b005b6000546001600160a01b0316331461011c5760405162461bcd60e51b815260206004820152603360248201527f546869732066756e6374696f6e206973207265737472696374656420746f207460448201527234329031b7b73a3930b1ba13b99037bbb732b960691b606482015260840160405180910390fd5b600155565b60006020828403121561013357600080fd5b503591905056fea264697066735822122004988b9f681bb343d8a46460851ca74420911aee8e648413b8acb471a1ba203464736f6c634300080b0033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1006:15", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:15", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "115:76:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "125:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "137:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "148:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "133:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "133:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "125:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "167:9:15" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "178:6:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "160:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "160:25:15" - }, - "nodeType": "YulExpressionStatement", - "src": "160:25:15" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "84:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "95:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "106:4:15", - "type": "" - } - ], - "src": "14:177:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "297:102:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "307:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "319:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "330:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "315:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "315:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "307:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "349:9:15" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "364:6:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "380:3:15", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "385:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "376:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "376:11:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "389:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "372:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "372:19:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "360:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "360:32:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "342:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "342:51:15" - }, - "nodeType": "YulExpressionStatement", - "src": "342:51:15" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "266:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "277:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "288:4:15", - "type": "" - } - ], - "src": "196:203:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "474:110:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "520:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "529:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "532:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "522:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "522:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "522:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "495:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "504:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "491:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "491:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "516:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "487:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "487:32:15" - }, - "nodeType": "YulIf", - "src": "484:52:15" - }, - { - "nodeType": "YulAssignment", - "src": "545:33:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "568:9:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "555:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "555:23:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "545:6:15" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "440:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "451:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "463:6:15", - "type": "" - } - ], - "src": "404:180:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "763:241:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "780:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "791:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "773:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "773:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "773:21:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "814:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "825:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "810:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "810:18:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "830:2:15", - "type": "", - "value": "51" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "803:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "803:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "803:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "853:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "864:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "849:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "849:18:15" - }, - { - "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074", - "kind": "string", - "nodeType": "YulLiteral", - "src": "869:34:15", - "type": "", - "value": "This function is restricted to t" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "842:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "842:62:15" - }, - "nodeType": "YulExpressionStatement", - "src": "842:62:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "924:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "935:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "920:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "920:18:15" - }, - { - "hexValue": "686520636f6e74726163742773206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "940:21:15", - "type": "", - "value": "he contract's owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "913:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "913:49:15" - }, - "nodeType": "YulExpressionStatement", - "src": "913:49:15" - }, - { - "nodeType": "YulAssignment", - "src": "971:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "983:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "994:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "979:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "979:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "971:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "740:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "754:4:15", - "type": "" - } - ], - "src": "589:415:15" - } - ] - }, - "contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"This function is restricted to t\")\n mstore(add(headStart, 96), \"he contract's owner\")\n tail := add(headStart, 128)\n }\n}", - "id": 15, - "language": "Yul", - "name": "#utility.yul" - } - ], - "sourceMap": "57:352:13:-:0;;;81:33;;;-1:-1:-1;;;;;;81:33:13;104:10;81:33;;;57:352;;;;;;;;;;;;;;;;", - "deployedSourceMap": "57:352:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;118:36;;;;;;;;;160:25:15;;;148:2;133:18;118:36:13;;;;;;;;81:33;;;;;-1:-1:-1;;;;;81:33:13;;;;;;-1:-1:-1;;;;;360:32:15;;;342:51;;330:2;315:18;81:33:13;196:203:15;304:103:13;;;;;;:::i;:::-;;:::i;:::-;;;216:5;;-1:-1:-1;;;;;216:5:13;202:10;:19;187:101;;;;-1:-1:-1;;;187:101:13;;791:2:15;187:101:13;;;773:21:15;830:2;810:18;;;803:30;869:34;849:18;;;842:62;-1:-1:-1;;;920:18:15;;;913:49;979:19;;187:101:13;;;;;;;;366:24:::1;:36:::0;304:103::o;404:180:15:-;463:6;516:2;504:9;495:7;491:23;487:32;484:52;;;532:1;529;522:12;484:52;-1:-1:-1;555:23:15;;404:180;-1:-1:-1;404:180:15:o", - "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract Migrations {\n address public owner = msg.sender;\n uint public last_completed_migration;\n\n modifier restricted() {\n require(\n msg.sender == owner,\n \"This function is restricted to the contract's owner\"\n );\n _;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n}\n", - "sourcePath": "/home/lance/git/github.com/lalanza808/suchwowx-smart-contract/contracts/Migrations.sol", - "ast": { - "absolutePath": "project:/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 2201 - ] - }, - "id": 2202, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2170, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "32:23:13" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Migrations", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2201, - "linearizedBaseContracts": [ - 2201 - ], - "name": "Migrations", - "nameLocation": "66:10:13", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 2174, - "mutability": "mutable", - "name": "owner", - "nameLocation": "96:5:13", - "nodeType": "VariableDeclaration", - "scope": 2201, - "src": "81:33:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "81:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "expression": { - "id": 2172, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "104:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "104:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "445df0ac", - "id": 2176, - "mutability": "mutable", - "name": "last_completed_migration", - "nameLocation": "130:24:13", - "nodeType": "VariableDeclaration", - "scope": 2201, - "src": "118:36:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2175, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "118:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 2187, - "nodeType": "Block", - "src": "181:119:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2179, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "202:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "202:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 2181, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2174, - "src": "216:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "202:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572", - "id": 2183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "229:53:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", - "typeString": "literal_string \"This function is restricted to the contract's owner\"" - }, - "value": "This function is restricted to the contract's owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", - "typeString": "literal_string \"This function is restricted to the contract's owner\"" - } - ], - "id": 2178, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "187:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "187:101:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2185, - "nodeType": "ExpressionStatement", - "src": "187:101:13" - }, - { - "id": 2186, - "nodeType": "PlaceholderStatement", - "src": "294:1:13" - } - ] - }, - "id": 2188, - "name": "restricted", - "nameLocation": "168:10:13", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2177, - "nodeType": "ParameterList", - "parameters": [], - "src": "178:2:13" - }, - "src": "159:141:13", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2199, - "nodeType": "Block", - "src": "360:47:13", - "statements": [ - { - "expression": { - "id": 2197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2195, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "366:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2196, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2190, - "src": "393:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "366:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2198, - "nodeType": "ExpressionStatement", - "src": "366:36:13" - } - ] - }, - "functionSelector": "fdacd576", - "id": 2200, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2193, - "kind": "modifierInvocation", - "modifierName": { - "id": 2192, - "name": "restricted", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2188, - "src": "349:10:13" - }, - "nodeType": "ModifierInvocation", - "src": "349:10:13" - } - ], - "name": "setCompleted", - "nameLocation": "313:12:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2190, - "mutability": "mutable", - "name": "completed", - "nameLocation": "331:9:13", - "nodeType": "VariableDeclaration", - "scope": 2200, - "src": "326:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2189, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "326:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "325:16:13" - }, - "returnParameters": { - "id": 2194, - "nodeType": "ParameterList", - "parameters": [], - "src": "360:0:13" - }, - "scope": 2201, - "src": "304:103:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 2202, - "src": "57:352:13", - "usedErrors": [] - } - ], - "src": "32:378:13" - }, - "legacyAST": { - "absolutePath": "project:/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 2201 - ] - }, - "id": 2202, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2170, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "32:23:13" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Migrations", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2201, - "linearizedBaseContracts": [ - 2201 - ], - "name": "Migrations", - "nameLocation": "66:10:13", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 2174, - "mutability": "mutable", - "name": "owner", - "nameLocation": "96:5:13", - "nodeType": "VariableDeclaration", - "scope": 2201, - "src": "81:33:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "81:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "expression": { - "id": 2172, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "104:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "104:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "445df0ac", - "id": 2176, - "mutability": "mutable", - "name": "last_completed_migration", - "nameLocation": "130:24:13", - "nodeType": "VariableDeclaration", - "scope": 2201, - "src": "118:36:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2175, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "118:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 2187, - "nodeType": "Block", - "src": "181:119:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2179, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "202:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "202:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 2181, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2174, - "src": "216:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "202:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572", - "id": 2183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "229:53:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", - "typeString": "literal_string \"This function is restricted to the contract's owner\"" - }, - "value": "This function is restricted to the contract's owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", - "typeString": "literal_string \"This function is restricted to the contract's owner\"" - } - ], - "id": 2178, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "187:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "187:101:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2185, - "nodeType": "ExpressionStatement", - "src": "187:101:13" - }, - { - "id": 2186, - "nodeType": "PlaceholderStatement", - "src": "294:1:13" - } - ] - }, - "id": 2188, - "name": "restricted", - "nameLocation": "168:10:13", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2177, - "nodeType": "ParameterList", - "parameters": [], - "src": "178:2:13" - }, - "src": "159:141:13", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2199, - "nodeType": "Block", - "src": "360:47:13", - "statements": [ - { - "expression": { - "id": 2197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2195, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "366:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2196, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2190, - "src": "393:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "366:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2198, - "nodeType": "ExpressionStatement", - "src": "366:36:13" - } - ] - }, - "functionSelector": "fdacd576", - "id": 2200, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2193, - "kind": "modifierInvocation", - "modifierName": { - "id": 2192, - "name": "restricted", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2188, - "src": "349:10:13" - }, - "nodeType": "ModifierInvocation", - "src": "349:10:13" - } - ], - "name": "setCompleted", - "nameLocation": "313:12:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2190, - "mutability": "mutable", - "name": "completed", - "nameLocation": "331:9:13", - "nodeType": "VariableDeclaration", - "scope": 2200, - "src": "326:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2189, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "326:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "325:16:13" - }, - "returnParameters": { - "id": 2194, - "nodeType": "ParameterList", - "parameters": [], - "src": "360:0:13" - }, - "scope": 2201, - "src": "304:103:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 2202, - "src": "57:352:13", - "usedErrors": [] - } - ], - "src": "32:378:13" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": { - "1": { - "events": {}, - "links": {}, - "address": "0xC4bCB09d91A798D720EFE3924f0653afFF78B08C", - "transactionHash": "0xe092bd63d5edabf6debe8eb74d224b6b6d62f35b90abb7598504870c3963e9c8" - } - }, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:22:12.449Z", - "networkType": "ethereum", - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/Ownable.json b/build2/contracts/Ownable.json deleted file mode 100644 index 26f83b5..0000000 --- a/build2/contracts/Ownable.json +++ /dev/null @@ -1,2554 +0,0 @@ -{ - "contractName": "Ownable", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n _;\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/access/Ownable.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", - "exportedSymbols": { - "Context": [ - 1543 - ], - "Ownable": [ - 104 - ] - }, - "id": 105, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "87:23:0" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../utils/Context.sol", - "id": 2, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 105, - "sourceUnit": 1544, - "src": "112:30:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 4, - "name": "Context", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1543, - "src": "668:7:0" - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "668:7:0" - } - ], - "canonicalName": "Ownable", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 3, - "nodeType": "StructuredDocumentation", - "src": "144:494:0", - "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." - }, - "fullyImplemented": true, - "id": 104, - "linearizedBaseContracts": [ - 104, - 1543 - ], - "name": "Ownable", - "nameLocation": "657:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 7, - "mutability": "mutable", - "name": "_owner", - "nameLocation": "698:6:0", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "682:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "682:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "id": 13, - "name": "OwnershipTransferred", - "nameLocation": "717:20:0", - "nodeType": "EventDefinition", - "parameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nameLocation": "754:13:0", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "738:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "738:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "785:8:0", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "769:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "769:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "737:57:0" - }, - "src": "711:84:0" - }, - { - "body": { - "id": 22, - "nodeType": "Block", - "src": "911:49:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "940:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "940:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "921:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "921:32:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21, - "nodeType": "ExpressionStatement", - "src": "921:32:0" - } - ] - }, - "documentation": { - "id": 14, - "nodeType": "StructuredDocumentation", - "src": "801:91:0", - "text": " @dev Initializes the contract setting the deployer as the initial owner." - }, - "id": 23, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15, - "nodeType": "ParameterList", - "parameters": [], - "src": "908:2:0" - }, - "returnParameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [], - "src": "911:0:0" - }, - "scope": 104, - "src": "897:63:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 31, - "nodeType": "Block", - "src": "1091:30:0", - "statements": [ - { - "expression": { - "id": 29, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "1108:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 28, - "id": 30, - "nodeType": "Return", - "src": "1101:13:0" - } - ] - }, - "documentation": { - "id": 24, - "nodeType": "StructuredDocumentation", - "src": "966:65:0", - "text": " @dev Returns the address of the current owner." - }, - "functionSelector": "8da5cb5b", - "id": 32, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "owner", - "nameLocation": "1045:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25, - "nodeType": "ParameterList", - "parameters": [], - "src": "1050:2:0" - }, - "returnParameters": { - "id": 28, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 32, - "src": "1082:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1082:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1081:9:0" - }, - "scope": 104, - "src": "1036:85:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 45, - "nodeType": "Block", - "src": "1230:96:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 40, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 36, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "1248:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1248:7:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 38, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "1259:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1259:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1248:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:34:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - }, - "value": "Ownable: caller is not the owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - } - ], - "id": 35, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1240:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1240:68:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "1240:68:0" - }, - { - "id": 44, - "nodeType": "PlaceholderStatement", - "src": "1318:1:0" - } - ] - }, - "documentation": { - "id": 33, - "nodeType": "StructuredDocumentation", - "src": "1127:77:0", - "text": " @dev Throws if called by any account other than the owner." - }, - "id": 46, - "name": "onlyOwner", - "nameLocation": "1218:9:0", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 34, - "nodeType": "ParameterList", - "parameters": [], - "src": "1227:2:0" - }, - "src": "1209:117:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 59, - "nodeType": "Block", - "src": "1722:47:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1759:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1751:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 53, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1751:7:0", - "typeDescriptions": {} - } - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1751:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 52, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1732:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1732:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 58, - "nodeType": "ExpressionStatement", - "src": "1732:30:0" - } - ] - }, - "documentation": { - "id": 47, - "nodeType": "StructuredDocumentation", - "src": "1332:331:0", - "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." - }, - "functionSelector": "715018a6", - "id": 60, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 50, - "kind": "modifierInvocation", - "modifierName": { - "id": 49, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "1712:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "1712:9:0" - } - ], - "name": "renounceOwnership", - "nameLocation": "1677:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 48, - "nodeType": "ParameterList", - "parameters": [], - "src": "1694:2:0" - }, - "returnParameters": { - "id": 51, - "nodeType": "ParameterList", - "parameters": [], - "src": "1722:0:0" - }, - "scope": 104, - "src": "1668:101:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 82, - "nodeType": "Block", - "src": "1988:128:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 74, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 69, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2006:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2026:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2018:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 70, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2018:7:0", - "typeDescriptions": {} - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2018:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2006:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", - "id": 75, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2030:40:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "typeString": "literal_string \"Ownable: new owner is the zero address\"" - }, - "value": "Ownable: new owner is the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "typeString": "literal_string \"Ownable: new owner is the zero address\"" - } - ], - "id": 68, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1998:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 76, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1998:73:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77, - "nodeType": "ExpressionStatement", - "src": "1998:73:0" - }, - { - "expression": { - "arguments": [ - { - "id": 79, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2100:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 78, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "2081:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 80, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2081:28:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81, - "nodeType": "ExpressionStatement", - "src": "2081:28:0" - } - ] - }, - "documentation": { - "id": 61, - "nodeType": "StructuredDocumentation", - "src": "1775:138:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." - }, - "functionSelector": "f2fde38b", - "id": 83, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 66, - "kind": "modifierInvocation", - "modifierName": { - "id": 65, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "1978:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "1978:9:0" - } - ], - "name": "transferOwnership", - "nameLocation": "1927:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 63, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "1953:8:0", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "1945:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 62, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1945:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1944:18:0" - }, - "returnParameters": { - "id": 67, - "nodeType": "ParameterList", - "parameters": [], - "src": "1988:0:0" - }, - "scope": 104, - "src": "1918:198:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 102, - "nodeType": "Block", - "src": "2333:124:0", - "statements": [ - { - "assignments": [ - 90 - ], - "declarations": [ - { - "constant": false, - "id": 90, - "mutability": "mutable", - "name": "oldOwner", - "nameLocation": "2351:8:0", - "nodeType": "VariableDeclaration", - "scope": 102, - "src": "2343:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 89, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2343:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 92, - "initialValue": { - "id": 91, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "2362:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2343:25:0" - }, - { - "expression": { - "id": 95, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 93, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "2378:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 94, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "2387:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2378:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 96, - "nodeType": "ExpressionStatement", - "src": "2378:17:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 98, - "name": "oldOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "2431:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 99, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "2441:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 97, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "2410:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2410:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 101, - "nodeType": "EmitStatement", - "src": "2405:45:0" - } - ] - }, - "documentation": { - "id": 84, - "nodeType": "StructuredDocumentation", - "src": "2122:143:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." - }, - "id": 103, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOwnership", - "nameLocation": "2279:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 87, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 86, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "2306:8:0", - "nodeType": "VariableDeclaration", - "scope": 103, - "src": "2298:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2298:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2297:18:0" - }, - "returnParameters": { - "id": 88, - "nodeType": "ParameterList", - "parameters": [], - "src": "2333:0:0" - }, - "scope": 104, - "src": "2270:187:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 105, - "src": "639:1820:0", - "usedErrors": [] - } - ], - "src": "87:2373:0" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", - "exportedSymbols": { - "Context": [ - 1543 - ], - "Ownable": [ - 104 - ] - }, - "id": 105, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "87:23:0" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../utils/Context.sol", - "id": 2, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 105, - "sourceUnit": 1544, - "src": "112:30:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 4, - "name": "Context", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1543, - "src": "668:7:0" - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "668:7:0" - } - ], - "canonicalName": "Ownable", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 3, - "nodeType": "StructuredDocumentation", - "src": "144:494:0", - "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." - }, - "fullyImplemented": true, - "id": 104, - "linearizedBaseContracts": [ - 104, - 1543 - ], - "name": "Ownable", - "nameLocation": "657:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 7, - "mutability": "mutable", - "name": "_owner", - "nameLocation": "698:6:0", - "nodeType": "VariableDeclaration", - "scope": 104, - "src": "682:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "682:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "id": 13, - "name": "OwnershipTransferred", - "nameLocation": "717:20:0", - "nodeType": "EventDefinition", - "parameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nameLocation": "754:13:0", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "738:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "738:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "785:8:0", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "769:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "769:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "737:57:0" - }, - "src": "711:84:0" - }, - { - "body": { - "id": 22, - "nodeType": "Block", - "src": "911:49:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "940:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "940:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "921:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "921:32:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21, - "nodeType": "ExpressionStatement", - "src": "921:32:0" - } - ] - }, - "documentation": { - "id": 14, - "nodeType": "StructuredDocumentation", - "src": "801:91:0", - "text": " @dev Initializes the contract setting the deployer as the initial owner." - }, - "id": 23, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15, - "nodeType": "ParameterList", - "parameters": [], - "src": "908:2:0" - }, - "returnParameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [], - "src": "911:0:0" - }, - "scope": 104, - "src": "897:63:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 31, - "nodeType": "Block", - "src": "1091:30:0", - "statements": [ - { - "expression": { - "id": 29, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "1108:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 28, - "id": 30, - "nodeType": "Return", - "src": "1101:13:0" - } - ] - }, - "documentation": { - "id": 24, - "nodeType": "StructuredDocumentation", - "src": "966:65:0", - "text": " @dev Returns the address of the current owner." - }, - "functionSelector": "8da5cb5b", - "id": 32, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "owner", - "nameLocation": "1045:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 25, - "nodeType": "ParameterList", - "parameters": [], - "src": "1050:2:0" - }, - "returnParameters": { - "id": 28, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 32, - "src": "1082:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 26, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1082:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1081:9:0" - }, - "scope": 104, - "src": "1036:85:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 45, - "nodeType": "Block", - "src": "1230:96:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 40, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 36, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "1248:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1248:7:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 38, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "1259:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1259:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1248:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1273:34:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - }, - "value": "Ownable: caller is not the owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - } - ], - "id": 35, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1240:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1240:68:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "1240:68:0" - }, - { - "id": 44, - "nodeType": "PlaceholderStatement", - "src": "1318:1:0" - } - ] - }, - "documentation": { - "id": 33, - "nodeType": "StructuredDocumentation", - "src": "1127:77:0", - "text": " @dev Throws if called by any account other than the owner." - }, - "id": 46, - "name": "onlyOwner", - "nameLocation": "1218:9:0", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 34, - "nodeType": "ParameterList", - "parameters": [], - "src": "1227:2:0" - }, - "src": "1209:117:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 59, - "nodeType": "Block", - "src": "1722:47:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1759:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 54, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1751:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 53, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1751:7:0", - "typeDescriptions": {} - } - }, - "id": 56, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1751:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 52, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "1732:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1732:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 58, - "nodeType": "ExpressionStatement", - "src": "1732:30:0" - } - ] - }, - "documentation": { - "id": 47, - "nodeType": "StructuredDocumentation", - "src": "1332:331:0", - "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." - }, - "functionSelector": "715018a6", - "id": 60, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 50, - "kind": "modifierInvocation", - "modifierName": { - "id": 49, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "1712:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "1712:9:0" - } - ], - "name": "renounceOwnership", - "nameLocation": "1677:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 48, - "nodeType": "ParameterList", - "parameters": [], - "src": "1694:2:0" - }, - "returnParameters": { - "id": 51, - "nodeType": "ParameterList", - "parameters": [], - "src": "1722:0:0" - }, - "scope": 104, - "src": "1668:101:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 82, - "nodeType": "Block", - "src": "1988:128:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 74, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 69, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2006:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2026:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 71, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2018:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 70, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2018:7:0", - "typeDescriptions": {} - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2018:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2006:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", - "id": 75, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2030:40:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "typeString": "literal_string \"Ownable: new owner is the zero address\"" - }, - "value": "Ownable: new owner is the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "typeString": "literal_string \"Ownable: new owner is the zero address\"" - } - ], - "id": 68, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1998:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 76, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1998:73:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77, - "nodeType": "ExpressionStatement", - "src": "1998:73:0" - }, - { - "expression": { - "arguments": [ - { - "id": 79, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2100:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 78, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "2081:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 80, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2081:28:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81, - "nodeType": "ExpressionStatement", - "src": "2081:28:0" - } - ] - }, - "documentation": { - "id": 61, - "nodeType": "StructuredDocumentation", - "src": "1775:138:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." - }, - "functionSelector": "f2fde38b", - "id": 83, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 66, - "kind": "modifierInvocation", - "modifierName": { - "id": 65, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "1978:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "1978:9:0" - } - ], - "name": "transferOwnership", - "nameLocation": "1927:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 63, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "1953:8:0", - "nodeType": "VariableDeclaration", - "scope": 83, - "src": "1945:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 62, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1945:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1944:18:0" - }, - "returnParameters": { - "id": 67, - "nodeType": "ParameterList", - "parameters": [], - "src": "1988:0:0" - }, - "scope": 104, - "src": "1918:198:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 102, - "nodeType": "Block", - "src": "2333:124:0", - "statements": [ - { - "assignments": [ - 90 - ], - "declarations": [ - { - "constant": false, - "id": 90, - "mutability": "mutable", - "name": "oldOwner", - "nameLocation": "2351:8:0", - "nodeType": "VariableDeclaration", - "scope": 102, - "src": "2343:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 89, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2343:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 92, - "initialValue": { - "id": 91, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "2362:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2343:25:0" - }, - { - "expression": { - "id": 95, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 93, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "2378:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 94, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "2387:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2378:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 96, - "nodeType": "ExpressionStatement", - "src": "2378:17:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 98, - "name": "oldOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "2431:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 99, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "2441:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 97, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "2410:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2410:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 101, - "nodeType": "EmitStatement", - "src": "2405:45:0" - } - ] - }, - "documentation": { - "id": 84, - "nodeType": "StructuredDocumentation", - "src": "2122:143:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." - }, - "id": 103, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOwnership", - "nameLocation": "2279:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 87, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 86, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "2306:8:0", - "nodeType": "VariableDeclaration", - "scope": 103, - "src": "2298:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2298:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2297:18:0" - }, - "returnParameters": { - "id": 88, - "nodeType": "ParameterList", - "parameters": [], - "src": "2333:0:0" - }, - "scope": 104, - "src": "2270:187:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 105, - "src": "639:1820:0", - "usedErrors": [] - } - ], - "src": "87:2373:0" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.586Z", - "devdoc": { - "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", - "kind": "dev", - "methods": { - "constructor": { - "details": "Initializes the contract setting the deployer as the initial owner." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/SafeMath.json b/build2/contracts/SafeMath.json deleted file mode 100644 index 7a44790..0000000 --- a/build2/contracts/SafeMath.json +++ /dev/null @@ -1,7538 +0,0 @@ -{ - "contractName": "SafeMath", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's arithmetic operations. NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler now has built in overflow checking.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0xa2f576be637946f767aa56601c26d717f48a0aff44f82e46f13807eea1009a21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://973868f808e88e21a1a0a01d4839314515ee337ad096286c88e41b74dcc11fc2\",\"dweb:/ipfs/QmfYuZxRfx2J2xdk4EXN7jKg4bUYEMTaYk9BAw9Bqn4o2Y\"]}},\"version\":1}", - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fd04830778f7e44e9648e7a1e743f996041ee587daa54484479e0358db132f7064736f6c634300080b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fd04830778f7e44e9648e7a1e743f996041ee587daa54484479e0358db132f7064736f6c634300080b0033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "467:6301:12:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;467:6301:12;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "467:6301:12:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/math/SafeMath.sol)\n\npragma solidity ^0.8.0;\n\n// CAUTION\n// This version of SafeMath should only be used with Solidity 0.8 or later,\n// because it relies on the compiler's built in overflow checks.\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations.\n *\n * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler\n * now has built in overflow checking.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n uint256 c = a + b;\n if (c < a) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the substraction of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b > a) return (false, 0);\n return (true, a - b);\n }\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) return (true, 0);\n uint256 c = a * b;\n if (c / a != b) return (false, 0);\n return (true, c);\n }\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a / b);\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n unchecked {\n if (b == 0) return (false, 0);\n return (true, a % b);\n }\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n return a + b;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n return a - b;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n return a * b;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers, reverting on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator.\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n return a / b;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n return a % b;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {trySub}.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(\n uint256 a,\n uint256 b,\n string memory errorMessage\n ) internal pure returns (uint256) {\n unchecked {\n require(b <= a, errorMessage);\n return a - b;\n }\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(\n uint256 a,\n uint256 b,\n string memory errorMessage\n ) internal pure returns (uint256) {\n unchecked {\n require(b > 0, errorMessage);\n return a / b;\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting with custom message when dividing by zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryMod}.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(\n uint256 a,\n uint256 b,\n string memory errorMessage\n ) internal pure returns (uint256) {\n unchecked {\n require(b > 0, errorMessage);\n return a % b;\n }\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 2168 - ] - }, - "id": 2169, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1858, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "92:23:12" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "SafeMath", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1859, - "nodeType": "StructuredDocumentation", - "src": "270:196:12", - "text": " @dev Wrappers over Solidity's arithmetic operations.\n NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler\n now has built in overflow checking." - }, - "fullyImplemented": true, - "id": 2168, - "linearizedBaseContracts": [ - 2168 - ], - "name": "SafeMath", - "nameLocation": "475:8:12", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1890, - "nodeType": "Block", - "src": "702:140:12", - "statements": [ - { - "id": 1889, - "nodeType": "UncheckedBlock", - "src": "712:124:12", - "statements": [ - { - "assignments": [ - 1872 - ], - "declarations": [ - { - "constant": false, - "id": 1872, - "mutability": "mutable", - "name": "c", - "nameLocation": "744:1:12", - "nodeType": "VariableDeclaration", - "scope": 1889, - "src": "736:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "736:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1876, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1873, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1862, - "src": "748:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 1874, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1864, - "src": "752:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "748:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "736:17:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1877, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1872, - "src": "771:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1878, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1862, - "src": "775:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "771:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1884, - "nodeType": "IfStatement", - "src": "767:28:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 1880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "786:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "793:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 1882, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "785:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 1870, - "id": 1883, - "nodeType": "Return", - "src": "778:17:12" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "817:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "id": 1886, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1872, - "src": "823:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1887, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "816:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 1870, - "id": 1888, - "nodeType": "Return", - "src": "809:16:12" - } - ] - } - ] - }, - "documentation": { - "id": 1860, - "nodeType": "StructuredDocumentation", - "src": "490:131:12", - "text": " @dev Returns the addition of two unsigned integers, with an overflow flag.\n _Available since v3.4._" - }, - "id": 1891, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryAdd", - "nameLocation": "635:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1862, - "mutability": "mutable", - "name": "a", - "nameLocation": "650:1:12", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "642:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "642:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1864, - "mutability": "mutable", - "name": "b", - "nameLocation": "661:1:12", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "653:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "653:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "641:22:12" - }, - "returnParameters": { - "id": 1870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1867, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "687:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1866, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "687:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1869, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "693:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "693:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "686:15:12" - }, - "scope": 2168, - "src": "626:216:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1918, - "nodeType": "Block", - "src": "1064:113:12", - "statements": [ - { - "id": 1917, - "nodeType": "UncheckedBlock", - "src": "1074:97:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1903, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1896, - "src": "1102:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1904, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "1106:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1102:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1910, - "nodeType": "IfStatement", - "src": "1098:28:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 1906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1117:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 1907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1124:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 1908, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1116:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 1902, - "id": 1909, - "nodeType": "Return", - "src": "1109:17:12" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 1911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1148:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1912, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "1154:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 1913, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1896, - "src": "1158:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1154:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1915, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1147:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 1902, - "id": 1916, - "nodeType": "Return", - "src": "1140:20:12" - } - ] - } - ] - }, - "documentation": { - "id": 1892, - "nodeType": "StructuredDocumentation", - "src": "848:135:12", - "text": " @dev Returns the substraction of two unsigned integers, with an overflow flag.\n _Available since v3.4._" - }, - "id": 1919, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "trySub", - "nameLocation": "997:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1894, - "mutability": "mutable", - "name": "a", - "nameLocation": "1012:1:12", - "nodeType": "VariableDeclaration", - "scope": 1919, - "src": "1004:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1896, - "mutability": "mutable", - "name": "b", - "nameLocation": "1023:1:12", - "nodeType": "VariableDeclaration", - "scope": 1919, - "src": "1015:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1015:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1003:22:12" - }, - "returnParameters": { - "id": 1902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1899, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1919, - "src": "1049:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1898, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1049:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1901, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1919, - "src": "1055:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1055:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1048:15:12" - }, - "scope": 2168, - "src": "988:189:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1960, - "nodeType": "Block", - "src": "1401:417:12", - "statements": [ - { - "id": 1959, - "nodeType": "UncheckedBlock", - "src": "1411:401:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1931, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1922, - "src": "1669:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1674:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1669:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1938, - "nodeType": "IfStatement", - "src": "1665:28:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1685:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "hexValue": "30", - "id": 1935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1691:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 1936, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1684:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 1930, - "id": 1937, - "nodeType": "Return", - "src": "1677:16:12" - } - }, - { - "assignments": [ - 1940 - ], - "declarations": [ - { - "constant": false, - "id": 1940, - "mutability": "mutable", - "name": "c", - "nameLocation": "1715:1:12", - "nodeType": "VariableDeclaration", - "scope": 1959, - "src": "1707:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1939, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1707:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1944, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1941, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1922, - "src": "1719:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1942, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "1723:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1719:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1707:17:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1945, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "1742:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 1946, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1922, - "src": "1746:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1742:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1948, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "1751:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1742:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1954, - "nodeType": "IfStatement", - "src": "1738:33:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 1950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1762:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1769:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 1952, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1761:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 1930, - "id": 1953, - "nodeType": "Return", - "src": "1754:17:12" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 1955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1793:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "id": 1956, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "1799:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1957, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1792:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 1930, - "id": 1958, - "nodeType": "Return", - "src": "1785:16:12" - } - ] - } - ] - }, - "documentation": { - "id": 1920, - "nodeType": "StructuredDocumentation", - "src": "1183:137:12", - "text": " @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n _Available since v3.4._" - }, - "id": 1961, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMul", - "nameLocation": "1334:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1922, - "mutability": "mutable", - "name": "a", - "nameLocation": "1349:1:12", - "nodeType": "VariableDeclaration", - "scope": 1961, - "src": "1341:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1341:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1924, - "mutability": "mutable", - "name": "b", - "nameLocation": "1360:1:12", - "nodeType": "VariableDeclaration", - "scope": 1961, - "src": "1352:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1352:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1340:22:12" - }, - "returnParameters": { - "id": 1930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1927, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1961, - "src": "1386:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1926, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1386:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1929, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1961, - "src": "1392:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1392:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1385:15:12" - }, - "scope": 2168, - "src": "1325:493:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1988, - "nodeType": "Block", - "src": "2043:114:12", - "statements": [ - { - "id": 1987, - "nodeType": "UncheckedBlock", - "src": "2053:98:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1973, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1966, - "src": "2081:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2086:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2081:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1980, - "nodeType": "IfStatement", - "src": "2077:29:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2097:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 1977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2104:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 1978, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2096:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 1972, - "id": 1979, - "nodeType": "Return", - "src": "2089:17:12" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2128:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1982, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1964, - "src": "2134:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 1983, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1966, - "src": "2138:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2134:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1985, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2127:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 1972, - "id": 1986, - "nodeType": "Return", - "src": "2120:20:12" - } - ] - } - ] - }, - "documentation": { - "id": 1962, - "nodeType": "StructuredDocumentation", - "src": "1824:138:12", - "text": " @dev Returns the division of two unsigned integers, with a division by zero flag.\n _Available since v3.4._" - }, - "id": 1989, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryDiv", - "nameLocation": "1976:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1964, - "mutability": "mutable", - "name": "a", - "nameLocation": "1991:1:12", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "1983:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1983:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1966, - "mutability": "mutable", - "name": "b", - "nameLocation": "2002:1:12", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "1994:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1994:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1982:22:12" - }, - "returnParameters": { - "id": 1972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1969, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "2028:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1968, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2028:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1971, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "2034:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2034:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2027:15:12" - }, - "scope": 2168, - "src": "1967:190:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2016, - "nodeType": "Block", - "src": "2392:114:12", - "statements": [ - { - "id": 2015, - "nodeType": "UncheckedBlock", - "src": "2402:98:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2001, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1994, - "src": "2430:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2435:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2430:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2008, - "nodeType": "IfStatement", - "src": "2426:29:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 2004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2446:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 2005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2453:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 2006, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2445:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 2000, - "id": 2007, - "nodeType": "Return", - "src": "2438:17:12" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2477:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2010, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "2483:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "id": 2011, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1994, - "src": "2487:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2483:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2013, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2476:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 2000, - "id": 2014, - "nodeType": "Return", - "src": "2469:20:12" - } - ] - } - ] - }, - "documentation": { - "id": 1990, - "nodeType": "StructuredDocumentation", - "src": "2163:148:12", - "text": " @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n _Available since v3.4._" - }, - "id": 2017, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMod", - "nameLocation": "2325:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1992, - "mutability": "mutable", - "name": "a", - "nameLocation": "2340:1:12", - "nodeType": "VariableDeclaration", - "scope": 2017, - "src": "2332:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2332:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1994, - "mutability": "mutable", - "name": "b", - "nameLocation": "2351:1:12", - "nodeType": "VariableDeclaration", - "scope": 2017, - "src": "2343:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2343:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2331:22:12" - }, - "returnParameters": { - "id": 2000, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1997, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2017, - "src": "2377:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1996, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2377:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1999, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2017, - "src": "2383:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2383:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2376:15:12" - }, - "scope": 2168, - "src": "2316:190:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2031, - "nodeType": "Block", - "src": "2808:29:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2027, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2020, - "src": "2825:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 2028, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2022, - "src": "2829:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2825:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2026, - "id": 2030, - "nodeType": "Return", - "src": "2818:12:12" - } - ] - }, - "documentation": { - "id": 2018, - "nodeType": "StructuredDocumentation", - "src": "2512:224:12", - "text": " @dev Returns the addition of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `+` operator.\n Requirements:\n - Addition cannot overflow." - }, - "id": 2032, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nameLocation": "2750:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2023, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2020, - "mutability": "mutable", - "name": "a", - "nameLocation": "2762:1:12", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "2754:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2754:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2022, - "mutability": "mutable", - "name": "b", - "nameLocation": "2773:1:12", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "2765:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2765:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2753:22:12" - }, - "returnParameters": { - "id": 2026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2025, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "2799:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2799:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2798:9:12" - }, - "scope": 2168, - "src": "2741:96:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2046, - "nodeType": "Block", - "src": "3175:29:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2042, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2035, - "src": "3192:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 2043, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2037, - "src": "3196:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3192:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2041, - "id": 2045, - "nodeType": "Return", - "src": "3185:12:12" - } - ] - }, - "documentation": { - "id": 2033, - "nodeType": "StructuredDocumentation", - "src": "2843:260:12", - "text": " @dev Returns the subtraction of two unsigned integers, reverting on\n overflow (when the result is negative).\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow." - }, - "id": 2047, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nameLocation": "3117:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2038, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2035, - "mutability": "mutable", - "name": "a", - "nameLocation": "3129:1:12", - "nodeType": "VariableDeclaration", - "scope": 2047, - "src": "3121:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3121:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2037, - "mutability": "mutable", - "name": "b", - "nameLocation": "3140:1:12", - "nodeType": "VariableDeclaration", - "scope": 2047, - "src": "3132:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2036, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3132:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3120:22:12" - }, - "returnParameters": { - "id": 2041, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2040, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2047, - "src": "3166:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2039, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3166:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3165:9:12" - }, - "scope": 2168, - "src": "3108:96:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2061, - "nodeType": "Block", - "src": "3518:29:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2057, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2050, - "src": "3535:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2058, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2052, - "src": "3539:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3535:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2056, - "id": 2060, - "nodeType": "Return", - "src": "3528:12:12" - } - ] - }, - "documentation": { - "id": 2048, - "nodeType": "StructuredDocumentation", - "src": "3210:236:12", - "text": " @dev Returns the multiplication of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `*` operator.\n Requirements:\n - Multiplication cannot overflow." - }, - "id": 2062, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nameLocation": "3460:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2050, - "mutability": "mutable", - "name": "a", - "nameLocation": "3472:1:12", - "nodeType": "VariableDeclaration", - "scope": 2062, - "src": "3464:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3464:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2052, - "mutability": "mutable", - "name": "b", - "nameLocation": "3483:1:12", - "nodeType": "VariableDeclaration", - "scope": 2062, - "src": "3475:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3475:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3463:22:12" - }, - "returnParameters": { - "id": 2056, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2055, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2062, - "src": "3509:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3509:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3508:9:12" - }, - "scope": 2168, - "src": "3451:96:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2076, - "nodeType": "Block", - "src": "3903:29:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2072, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2065, - "src": "3920:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2073, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2067, - "src": "3924:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3920:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2071, - "id": 2075, - "nodeType": "Return", - "src": "3913:12:12" - } - ] - }, - "documentation": { - "id": 2063, - "nodeType": "StructuredDocumentation", - "src": "3553:278:12", - "text": " @dev Returns the integer division of two unsigned integers, reverting on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator.\n Requirements:\n - The divisor cannot be zero." - }, - "id": 2077, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nameLocation": "3845:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2065, - "mutability": "mutable", - "name": "a", - "nameLocation": "3857:1:12", - "nodeType": "VariableDeclaration", - "scope": 2077, - "src": "3849:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3849:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2067, - "mutability": "mutable", - "name": "b", - "nameLocation": "3868:1:12", - "nodeType": "VariableDeclaration", - "scope": 2077, - "src": "3860:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2066, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3860:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3848:22:12" - }, - "returnParameters": { - "id": 2071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2070, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2077, - "src": "3894:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3894:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3893:9:12" - }, - "scope": 2168, - "src": "3836:96:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2091, - "nodeType": "Block", - "src": "4452:29:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2087, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2080, - "src": "4469:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "id": 2088, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2082, - "src": "4473:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2086, - "id": 2090, - "nodeType": "Return", - "src": "4462:12:12" - } - ] - }, - "documentation": { - "id": 2078, - "nodeType": "StructuredDocumentation", - "src": "3938:442:12", - "text": " @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n reverting when dividing by zero.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." - }, - "id": 2092, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nameLocation": "4394:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2080, - "mutability": "mutable", - "name": "a", - "nameLocation": "4406:1:12", - "nodeType": "VariableDeclaration", - "scope": 2092, - "src": "4398:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4398:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2082, - "mutability": "mutable", - "name": "b", - "nameLocation": "4417:1:12", - "nodeType": "VariableDeclaration", - "scope": 2092, - "src": "4409:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2081, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4409:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4397:22:12" - }, - "returnParameters": { - "id": 2086, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2085, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2092, - "src": "4443:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2084, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4443:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4442:9:12" - }, - "scope": 2168, - "src": "4385:96:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2116, - "nodeType": "Block", - "src": "5070:106:12", - "statements": [ - { - "id": 2115, - "nodeType": "UncheckedBlock", - "src": "5080:90:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2105, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2097, - "src": "5112:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 2106, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "5117:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5112:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 2108, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "5120:12:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2104, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5104:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5104:29:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2110, - "nodeType": "ExpressionStatement", - "src": "5104:29:12" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2111, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "5154:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 2112, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2097, - "src": "5158:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5154:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2103, - "id": 2114, - "nodeType": "Return", - "src": "5147:12:12" - } - ] - } - ] - }, - "documentation": { - "id": 2093, - "nodeType": "StructuredDocumentation", - "src": "4487:453:12", - "text": " @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n overflow (when the result is negative).\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {trySub}.\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow." - }, - "id": 2117, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nameLocation": "4954:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2095, - "mutability": "mutable", - "name": "a", - "nameLocation": "4975:1:12", - "nodeType": "VariableDeclaration", - "scope": 2117, - "src": "4967:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4967:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2097, - "mutability": "mutable", - "name": "b", - "nameLocation": "4994:1:12", - "nodeType": "VariableDeclaration", - "scope": 2117, - "src": "4986:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4986:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2099, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "5019:12:12", - "nodeType": "VariableDeclaration", - "scope": 2117, - "src": "5005:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5005:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4957:80:12" - }, - "returnParameters": { - "id": 2103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2102, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2117, - "src": "5061:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2101, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5061:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5060:9:12" - }, - "scope": 2168, - "src": "4945:231:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2141, - "nodeType": "Block", - "src": "5785:105:12", - "statements": [ - { - "id": 2140, - "nodeType": "UncheckedBlock", - "src": "5795:89:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2130, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2122, - "src": "5827:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5831:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5827:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 2133, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2124, - "src": "5834:12:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2129, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5819:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5819:28:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2135, - "nodeType": "ExpressionStatement", - "src": "5819:28:12" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2136, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "5868:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2137, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2122, - "src": "5872:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5868:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2128, - "id": 2139, - "nodeType": "Return", - "src": "5861:12:12" - } - ] - } - ] - }, - "documentation": { - "id": 2118, - "nodeType": "StructuredDocumentation", - "src": "5182:473:12", - "text": " @dev Returns the integer division of two unsigned integers, reverting with custom message on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator. Note: this function uses a\n `revert` opcode (which leaves remaining gas untouched) while Solidity\n uses an invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." - }, - "id": 2142, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nameLocation": "5669:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2120, - "mutability": "mutable", - "name": "a", - "nameLocation": "5690:1:12", - "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "5682:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5682:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2122, - "mutability": "mutable", - "name": "b", - "nameLocation": "5709:1:12", - "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "5701:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5701:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2124, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "5734:12:12", - "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "5720:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2123, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5720:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "5672:80:12" - }, - "returnParameters": { - "id": 2128, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2127, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "5776:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5776:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5775:9:12" - }, - "scope": 2168, - "src": "5660:230:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2166, - "nodeType": "Block", - "src": "6661:105:12", - "statements": [ - { - "id": 2165, - "nodeType": "UncheckedBlock", - "src": "6671:89:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2155, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2147, - "src": "6703:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6703:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 2158, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "6710:12:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2154, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6695:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6695:28:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2160, - "nodeType": "ExpressionStatement", - "src": "6695:28:12" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2161, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2145, - "src": "6744:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "id": 2162, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2147, - "src": "6748:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6744:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2153, - "id": 2164, - "nodeType": "Return", - "src": "6737:12:12" - } - ] - } - ] - }, - "documentation": { - "id": 2143, - "nodeType": "StructuredDocumentation", - "src": "5896:635:12", - "text": " @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n reverting with custom message when dividing by zero.\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {tryMod}.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." - }, - "id": 2167, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nameLocation": "6545:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2150, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2145, - "mutability": "mutable", - "name": "a", - "nameLocation": "6566:1:12", - "nodeType": "VariableDeclaration", - "scope": 2167, - "src": "6558:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6558:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2147, - "mutability": "mutable", - "name": "b", - "nameLocation": "6585:1:12", - "nodeType": "VariableDeclaration", - "scope": 2167, - "src": "6577:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6577:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2149, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "6610:12:12", - "nodeType": "VariableDeclaration", - "scope": 2167, - "src": "6596:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2148, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6596:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6548:80:12" - }, - "returnParameters": { - "id": 2153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2152, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2167, - "src": "6652:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6652:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6651:9:12" - }, - "scope": 2168, - "src": "6536:230:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2169, - "src": "467:6301:12", - "usedErrors": [] - } - ], - "src": "92:6677:12" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 2168 - ] - }, - "id": 2169, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1858, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "92:23:12" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "SafeMath", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1859, - "nodeType": "StructuredDocumentation", - "src": "270:196:12", - "text": " @dev Wrappers over Solidity's arithmetic operations.\n NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler\n now has built in overflow checking." - }, - "fullyImplemented": true, - "id": 2168, - "linearizedBaseContracts": [ - 2168 - ], - "name": "SafeMath", - "nameLocation": "475:8:12", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1890, - "nodeType": "Block", - "src": "702:140:12", - "statements": [ - { - "id": 1889, - "nodeType": "UncheckedBlock", - "src": "712:124:12", - "statements": [ - { - "assignments": [ - 1872 - ], - "declarations": [ - { - "constant": false, - "id": 1872, - "mutability": "mutable", - "name": "c", - "nameLocation": "744:1:12", - "nodeType": "VariableDeclaration", - "scope": 1889, - "src": "736:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "736:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1876, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1873, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1862, - "src": "748:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 1874, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1864, - "src": "752:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "748:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "736:17:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1877, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1872, - "src": "771:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1878, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1862, - "src": "775:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "771:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1884, - "nodeType": "IfStatement", - "src": "767:28:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 1880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "786:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "793:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 1882, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "785:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 1870, - "id": 1883, - "nodeType": "Return", - "src": "778:17:12" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "817:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "id": 1886, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1872, - "src": "823:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1887, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "816:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 1870, - "id": 1888, - "nodeType": "Return", - "src": "809:16:12" - } - ] - } - ] - }, - "documentation": { - "id": 1860, - "nodeType": "StructuredDocumentation", - "src": "490:131:12", - "text": " @dev Returns the addition of two unsigned integers, with an overflow flag.\n _Available since v3.4._" - }, - "id": 1891, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryAdd", - "nameLocation": "635:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1862, - "mutability": "mutable", - "name": "a", - "nameLocation": "650:1:12", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "642:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "642:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1864, - "mutability": "mutable", - "name": "b", - "nameLocation": "661:1:12", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "653:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "653:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "641:22:12" - }, - "returnParameters": { - "id": 1870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1867, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "687:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1866, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "687:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1869, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "693:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "693:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "686:15:12" - }, - "scope": 2168, - "src": "626:216:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1918, - "nodeType": "Block", - "src": "1064:113:12", - "statements": [ - { - "id": 1917, - "nodeType": "UncheckedBlock", - "src": "1074:97:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1903, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1896, - "src": "1102:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1904, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "1106:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1102:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1910, - "nodeType": "IfStatement", - "src": "1098:28:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 1906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1117:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 1907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1124:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 1908, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1116:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 1902, - "id": 1909, - "nodeType": "Return", - "src": "1109:17:12" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 1911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1148:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1912, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "1154:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 1913, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1896, - "src": "1158:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1154:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1915, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1147:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 1902, - "id": 1916, - "nodeType": "Return", - "src": "1140:20:12" - } - ] - } - ] - }, - "documentation": { - "id": 1892, - "nodeType": "StructuredDocumentation", - "src": "848:135:12", - "text": " @dev Returns the substraction of two unsigned integers, with an overflow flag.\n _Available since v3.4._" - }, - "id": 1919, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "trySub", - "nameLocation": "997:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1894, - "mutability": "mutable", - "name": "a", - "nameLocation": "1012:1:12", - "nodeType": "VariableDeclaration", - "scope": 1919, - "src": "1004:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1004:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1896, - "mutability": "mutable", - "name": "b", - "nameLocation": "1023:1:12", - "nodeType": "VariableDeclaration", - "scope": 1919, - "src": "1015:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1015:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1003:22:12" - }, - "returnParameters": { - "id": 1902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1899, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1919, - "src": "1049:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1898, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1049:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1901, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1919, - "src": "1055:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1055:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1048:15:12" - }, - "scope": 2168, - "src": "988:189:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1960, - "nodeType": "Block", - "src": "1401:417:12", - "statements": [ - { - "id": 1959, - "nodeType": "UncheckedBlock", - "src": "1411:401:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1931, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1922, - "src": "1669:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1674:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1669:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1938, - "nodeType": "IfStatement", - "src": "1665:28:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1685:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "hexValue": "30", - "id": 1935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1691:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 1936, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1684:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 1930, - "id": 1937, - "nodeType": "Return", - "src": "1677:16:12" - } - }, - { - "assignments": [ - 1940 - ], - "declarations": [ - { - "constant": false, - "id": 1940, - "mutability": "mutable", - "name": "c", - "nameLocation": "1715:1:12", - "nodeType": "VariableDeclaration", - "scope": 1959, - "src": "1707:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1939, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1707:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1944, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1941, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1922, - "src": "1719:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1942, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "1723:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1719:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1707:17:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1945, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "1742:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 1946, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1922, - "src": "1746:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1742:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1948, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "1751:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1742:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1954, - "nodeType": "IfStatement", - "src": "1738:33:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 1950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1762:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1769:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 1952, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1761:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 1930, - "id": 1953, - "nodeType": "Return", - "src": "1754:17:12" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 1955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1793:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "id": 1956, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1940, - "src": "1799:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1957, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1792:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 1930, - "id": 1958, - "nodeType": "Return", - "src": "1785:16:12" - } - ] - } - ] - }, - "documentation": { - "id": 1920, - "nodeType": "StructuredDocumentation", - "src": "1183:137:12", - "text": " @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n _Available since v3.4._" - }, - "id": 1961, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMul", - "nameLocation": "1334:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1922, - "mutability": "mutable", - "name": "a", - "nameLocation": "1349:1:12", - "nodeType": "VariableDeclaration", - "scope": 1961, - "src": "1341:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1341:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1924, - "mutability": "mutable", - "name": "b", - "nameLocation": "1360:1:12", - "nodeType": "VariableDeclaration", - "scope": 1961, - "src": "1352:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1352:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1340:22:12" - }, - "returnParameters": { - "id": 1930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1927, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1961, - "src": "1386:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1926, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1386:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1929, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1961, - "src": "1392:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1392:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1385:15:12" - }, - "scope": 2168, - "src": "1325:493:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1988, - "nodeType": "Block", - "src": "2043:114:12", - "statements": [ - { - "id": 1987, - "nodeType": "UncheckedBlock", - "src": "2053:98:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1973, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1966, - "src": "2081:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2086:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2081:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1980, - "nodeType": "IfStatement", - "src": "2077:29:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2097:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 1977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2104:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 1978, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2096:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 1972, - "id": 1979, - "nodeType": "Return", - "src": "2089:17:12" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2128:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1982, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1964, - "src": "2134:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 1983, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1966, - "src": "2138:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2134:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1985, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2127:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 1972, - "id": 1986, - "nodeType": "Return", - "src": "2120:20:12" - } - ] - } - ] - }, - "documentation": { - "id": 1962, - "nodeType": "StructuredDocumentation", - "src": "1824:138:12", - "text": " @dev Returns the division of two unsigned integers, with a division by zero flag.\n _Available since v3.4._" - }, - "id": 1989, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryDiv", - "nameLocation": "1976:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1964, - "mutability": "mutable", - "name": "a", - "nameLocation": "1991:1:12", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "1983:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1983:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1966, - "mutability": "mutable", - "name": "b", - "nameLocation": "2002:1:12", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "1994:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1994:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1982:22:12" - }, - "returnParameters": { - "id": 1972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1969, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "2028:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1968, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2028:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1971, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1989, - "src": "2034:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2034:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2027:15:12" - }, - "scope": 2168, - "src": "1967:190:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2016, - "nodeType": "Block", - "src": "2392:114:12", - "statements": [ - { - "id": 2015, - "nodeType": "UncheckedBlock", - "src": "2402:98:12", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2001, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1994, - "src": "2430:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2435:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2430:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2008, - "nodeType": "IfStatement", - "src": "2426:29:12", - "trueBody": { - "expression": { - "components": [ - { - "hexValue": "66616c7365", - "id": 2004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2446:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "hexValue": "30", - "id": 2005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2453:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 2006, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2445:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 2000, - "id": 2007, - "nodeType": "Return", - "src": "2438:17:12" - } - }, - { - "expression": { - "components": [ - { - "hexValue": "74727565", - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2477:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2010, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "2483:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "id": 2011, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1994, - "src": "2487:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2483:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2013, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2476:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 2000, - "id": 2014, - "nodeType": "Return", - "src": "2469:20:12" - } - ] - } - ] - }, - "documentation": { - "id": 1990, - "nodeType": "StructuredDocumentation", - "src": "2163:148:12", - "text": " @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n _Available since v3.4._" - }, - "id": 2017, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMod", - "nameLocation": "2325:6:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1992, - "mutability": "mutable", - "name": "a", - "nameLocation": "2340:1:12", - "nodeType": "VariableDeclaration", - "scope": 2017, - "src": "2332:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2332:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1994, - "mutability": "mutable", - "name": "b", - "nameLocation": "2351:1:12", - "nodeType": "VariableDeclaration", - "scope": 2017, - "src": "2343:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2343:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2331:22:12" - }, - "returnParameters": { - "id": 2000, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1997, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2017, - "src": "2377:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1996, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2377:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1999, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2017, - "src": "2383:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2383:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2376:15:12" - }, - "scope": 2168, - "src": "2316:190:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2031, - "nodeType": "Block", - "src": "2808:29:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2027, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2020, - "src": "2825:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 2028, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2022, - "src": "2829:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2825:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2026, - "id": 2030, - "nodeType": "Return", - "src": "2818:12:12" - } - ] - }, - "documentation": { - "id": 2018, - "nodeType": "StructuredDocumentation", - "src": "2512:224:12", - "text": " @dev Returns the addition of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `+` operator.\n Requirements:\n - Addition cannot overflow." - }, - "id": 2032, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nameLocation": "2750:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2023, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2020, - "mutability": "mutable", - "name": "a", - "nameLocation": "2762:1:12", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "2754:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2754:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2022, - "mutability": "mutable", - "name": "b", - "nameLocation": "2773:1:12", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "2765:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2021, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2765:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2753:22:12" - }, - "returnParameters": { - "id": 2026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2025, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "2799:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2799:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2798:9:12" - }, - "scope": 2168, - "src": "2741:96:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2046, - "nodeType": "Block", - "src": "3175:29:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2042, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2035, - "src": "3192:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 2043, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2037, - "src": "3196:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3192:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2041, - "id": 2045, - "nodeType": "Return", - "src": "3185:12:12" - } - ] - }, - "documentation": { - "id": 2033, - "nodeType": "StructuredDocumentation", - "src": "2843:260:12", - "text": " @dev Returns the subtraction of two unsigned integers, reverting on\n overflow (when the result is negative).\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow." - }, - "id": 2047, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nameLocation": "3117:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2038, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2035, - "mutability": "mutable", - "name": "a", - "nameLocation": "3129:1:12", - "nodeType": "VariableDeclaration", - "scope": 2047, - "src": "3121:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3121:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2037, - "mutability": "mutable", - "name": "b", - "nameLocation": "3140:1:12", - "nodeType": "VariableDeclaration", - "scope": 2047, - "src": "3132:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2036, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3132:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3120:22:12" - }, - "returnParameters": { - "id": 2041, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2040, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2047, - "src": "3166:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2039, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3166:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3165:9:12" - }, - "scope": 2168, - "src": "3108:96:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2061, - "nodeType": "Block", - "src": "3518:29:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2057, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2050, - "src": "3535:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2058, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2052, - "src": "3539:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3535:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2056, - "id": 2060, - "nodeType": "Return", - "src": "3528:12:12" - } - ] - }, - "documentation": { - "id": 2048, - "nodeType": "StructuredDocumentation", - "src": "3210:236:12", - "text": " @dev Returns the multiplication of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `*` operator.\n Requirements:\n - Multiplication cannot overflow." - }, - "id": 2062, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nameLocation": "3460:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2050, - "mutability": "mutable", - "name": "a", - "nameLocation": "3472:1:12", - "nodeType": "VariableDeclaration", - "scope": 2062, - "src": "3464:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3464:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2052, - "mutability": "mutable", - "name": "b", - "nameLocation": "3483:1:12", - "nodeType": "VariableDeclaration", - "scope": 2062, - "src": "3475:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3475:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3463:22:12" - }, - "returnParameters": { - "id": 2056, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2055, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2062, - "src": "3509:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3509:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3508:9:12" - }, - "scope": 2168, - "src": "3451:96:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2076, - "nodeType": "Block", - "src": "3903:29:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2072, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2065, - "src": "3920:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2073, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2067, - "src": "3924:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3920:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2071, - "id": 2075, - "nodeType": "Return", - "src": "3913:12:12" - } - ] - }, - "documentation": { - "id": 2063, - "nodeType": "StructuredDocumentation", - "src": "3553:278:12", - "text": " @dev Returns the integer division of two unsigned integers, reverting on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator.\n Requirements:\n - The divisor cannot be zero." - }, - "id": 2077, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nameLocation": "3845:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2065, - "mutability": "mutable", - "name": "a", - "nameLocation": "3857:1:12", - "nodeType": "VariableDeclaration", - "scope": 2077, - "src": "3849:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3849:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2067, - "mutability": "mutable", - "name": "b", - "nameLocation": "3868:1:12", - "nodeType": "VariableDeclaration", - "scope": 2077, - "src": "3860:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2066, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3860:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3848:22:12" - }, - "returnParameters": { - "id": 2071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2070, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2077, - "src": "3894:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3894:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3893:9:12" - }, - "scope": 2168, - "src": "3836:96:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2091, - "nodeType": "Block", - "src": "4452:29:12", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2087, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2080, - "src": "4469:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "id": 2088, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2082, - "src": "4473:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4469:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2086, - "id": 2090, - "nodeType": "Return", - "src": "4462:12:12" - } - ] - }, - "documentation": { - "id": 2078, - "nodeType": "StructuredDocumentation", - "src": "3938:442:12", - "text": " @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n reverting when dividing by zero.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." - }, - "id": 2092, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nameLocation": "4394:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2080, - "mutability": "mutable", - "name": "a", - "nameLocation": "4406:1:12", - "nodeType": "VariableDeclaration", - "scope": 2092, - "src": "4398:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4398:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2082, - "mutability": "mutable", - "name": "b", - "nameLocation": "4417:1:12", - "nodeType": "VariableDeclaration", - "scope": 2092, - "src": "4409:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2081, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4409:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4397:22:12" - }, - "returnParameters": { - "id": 2086, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2085, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2092, - "src": "4443:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2084, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4443:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4442:9:12" - }, - "scope": 2168, - "src": "4385:96:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2116, - "nodeType": "Block", - "src": "5070:106:12", - "statements": [ - { - "id": 2115, - "nodeType": "UncheckedBlock", - "src": "5080:90:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2105, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2097, - "src": "5112:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 2106, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "5117:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5112:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 2108, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "5120:12:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2104, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5104:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5104:29:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2110, - "nodeType": "ExpressionStatement", - "src": "5104:29:12" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2111, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "5154:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 2112, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2097, - "src": "5158:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5154:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2103, - "id": 2114, - "nodeType": "Return", - "src": "5147:12:12" - } - ] - } - ] - }, - "documentation": { - "id": 2093, - "nodeType": "StructuredDocumentation", - "src": "4487:453:12", - "text": " @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n overflow (when the result is negative).\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {trySub}.\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow." - }, - "id": 2117, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nameLocation": "4954:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2095, - "mutability": "mutable", - "name": "a", - "nameLocation": "4975:1:12", - "nodeType": "VariableDeclaration", - "scope": 2117, - "src": "4967:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4967:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2097, - "mutability": "mutable", - "name": "b", - "nameLocation": "4994:1:12", - "nodeType": "VariableDeclaration", - "scope": 2117, - "src": "4986:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4986:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2099, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "5019:12:12", - "nodeType": "VariableDeclaration", - "scope": 2117, - "src": "5005:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2098, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5005:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4957:80:12" - }, - "returnParameters": { - "id": 2103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2102, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2117, - "src": "5061:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2101, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5061:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5060:9:12" - }, - "scope": 2168, - "src": "4945:231:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2141, - "nodeType": "Block", - "src": "5785:105:12", - "statements": [ - { - "id": 2140, - "nodeType": "UncheckedBlock", - "src": "5795:89:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2130, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2122, - "src": "5827:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2131, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5831:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5827:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 2133, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2124, - "src": "5834:12:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2129, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5819:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5819:28:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2135, - "nodeType": "ExpressionStatement", - "src": "5819:28:12" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2136, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "5868:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2137, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2122, - "src": "5872:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5868:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2128, - "id": 2139, - "nodeType": "Return", - "src": "5861:12:12" - } - ] - } - ] - }, - "documentation": { - "id": 2118, - "nodeType": "StructuredDocumentation", - "src": "5182:473:12", - "text": " @dev Returns the integer division of two unsigned integers, reverting with custom message on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator. Note: this function uses a\n `revert` opcode (which leaves remaining gas untouched) while Solidity\n uses an invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." - }, - "id": 2142, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nameLocation": "5669:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2120, - "mutability": "mutable", - "name": "a", - "nameLocation": "5690:1:12", - "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "5682:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5682:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2122, - "mutability": "mutable", - "name": "b", - "nameLocation": "5709:1:12", - "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "5701:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5701:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2124, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "5734:12:12", - "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "5720:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2123, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5720:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "5672:80:12" - }, - "returnParameters": { - "id": 2128, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2127, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "5776:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5776:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5775:9:12" - }, - "scope": 2168, - "src": "5660:230:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2166, - "nodeType": "Block", - "src": "6661:105:12", - "statements": [ - { - "id": 2165, - "nodeType": "UncheckedBlock", - "src": "6671:89:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2155, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2147, - "src": "6703:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6707:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6703:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 2158, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "6710:12:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2154, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6695:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6695:28:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2160, - "nodeType": "ExpressionStatement", - "src": "6695:28:12" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2161, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2145, - "src": "6744:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "id": 2162, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2147, - "src": "6748:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6744:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2153, - "id": 2164, - "nodeType": "Return", - "src": "6737:12:12" - } - ] - } - ] - }, - "documentation": { - "id": 2143, - "nodeType": "StructuredDocumentation", - "src": "5896:635:12", - "text": " @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n reverting with custom message when dividing by zero.\n CAUTION: This function is deprecated because it requires allocating memory for the error\n message unnecessarily. For custom revert reasons use {tryMod}.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." - }, - "id": 2167, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nameLocation": "6545:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2150, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2145, - "mutability": "mutable", - "name": "a", - "nameLocation": "6566:1:12", - "nodeType": "VariableDeclaration", - "scope": 2167, - "src": "6558:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6558:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2147, - "mutability": "mutable", - "name": "b", - "nameLocation": "6585:1:12", - "nodeType": "VariableDeclaration", - "scope": 2167, - "src": "6577:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6577:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2149, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "6610:12:12", - "nodeType": "VariableDeclaration", - "scope": 2167, - "src": "6596:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2148, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6596:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6548:80:12" - }, - "returnParameters": { - "id": 2153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2152, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2167, - "src": "6652:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6652:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6651:9:12" - }, - "scope": 2168, - "src": "6536:230:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2169, - "src": "467:6301:12", - "usedErrors": [] - } - ], - "src": "92:6677:12" - }, - "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": "Wrappers over Solidity's arithmetic operations. NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler now has built in overflow checking.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/Strings.json b/build2/contracts/Strings.json deleted file mode 100644 index c9c00ad..0000000 --- a/build2/contracts/Strings.json +++ /dev/null @@ -1,5128 +0,0 @@ -{ - "contractName": "Strings", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]}},\"version\":1}", - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b963d1eeac13be6eb13274bc7c24aaef659bce068306f3218f2ec8001937574464736f6c634300080b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b963d1eeac13be6eb13274bc7c24aaef659bce068306f3218f2ec8001937574464736f6c634300080b0033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "146:1885:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;146:1885:9;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "146:1885:9:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _HEX_SYMBOLS = \"0123456789abcdef\";\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _HEX_SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Strings.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "exportedSymbols": { - "Strings": [ - 1820 - ] - }, - "id": 1821, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1619, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "86:23:9" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Strings", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1620, - "nodeType": "StructuredDocumentation", - "src": "111:34:9", - "text": " @dev String operations." - }, - "fullyImplemented": true, - "id": 1820, - "linearizedBaseContracts": [ - 1820 - ], - "name": "Strings", - "nameLocation": "154:7:9", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 1623, - "mutability": "constant", - "name": "_HEX_SYMBOLS", - "nameLocation": "193:12:9", - "nodeType": "VariableDeclaration", - "scope": 1820, - "src": "168:58:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 1621, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "168:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": { - "hexValue": "30313233343536373839616263646566", - "id": 1622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "208:18:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", - "typeString": "literal_string \"0123456789abcdef\"" - }, - "value": "0123456789abcdef" - }, - "visibility": "private" - }, - { - "body": { - "id": 1701, - "nodeType": "Block", - "src": "399:632:9", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1631, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "601:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "610:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "601:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1637, - "nodeType": "IfStatement", - "src": "597:51:9", - "trueBody": { - "id": 1636, - "nodeType": "Block", - "src": "613:35:9", - "statements": [ - { - "expression": { - "hexValue": "30", - "id": 1634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "634:3:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "functionReturnParameters": 1630, - "id": 1635, - "nodeType": "Return", - "src": "627:10:9" - } - ] - } - }, - { - "assignments": [ - 1639 - ], - "declarations": [ - { - "constant": false, - "id": 1639, - "mutability": "mutable", - "name": "temp", - "nameLocation": "665:4:9", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "657:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1638, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "657:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1641, - "initialValue": { - "id": 1640, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "672:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "657:20:9" - }, - { - "assignments": [ - 1643 - ], - "declarations": [ - { - "constant": false, - "id": 1643, - "mutability": "mutable", - "name": "digits", - "nameLocation": "695:6:9", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "687:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1642, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "687:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1644, - "nodeType": "VariableDeclarationStatement", - "src": "687:14:9" - }, - { - "body": { - "id": 1655, - "nodeType": "Block", - "src": "729:57:9", - "statements": [ - { - "expression": { - "id": 1649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "743:8:9", - "subExpression": { - "id": 1648, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "743:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1650, - "nodeType": "ExpressionStatement", - "src": "743:8:9" - }, - { - "expression": { - "id": 1653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1651, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1639, - "src": "765:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "hexValue": "3130", - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "773:2:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "765:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1654, - "nodeType": "ExpressionStatement", - "src": "765:10:9" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1645, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1639, - "src": "718:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 1646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "726:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "718:9:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1656, - "nodeType": "WhileStatement", - "src": "711:75:9" - }, - { - "assignments": [ - 1658 - ], - "declarations": [ - { - "constant": false, - "id": 1658, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "808:6:9", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "795:19:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1657, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "795:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1663, - "initialValue": { - "arguments": [ - { - "id": 1661, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "827:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "817:9:9", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1659, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "821:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "817:17:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "795:39:9" - }, - { - "body": { - "id": 1694, - "nodeType": "Block", - "src": "863:131:9", - "statements": [ - { - "expression": { - "id": 1669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1667, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "877:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 1668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "887:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "877:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1670, - "nodeType": "ExpressionStatement", - "src": "877:11:9" - }, - { - "expression": { - "id": 1688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1671, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "902:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1673, - "indexExpression": { - "id": 1672, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "909:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "902:14:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3438", - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "932:2:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1681, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "945:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "hexValue": "3130", - "id": 1682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "953:2:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "945:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "937:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "937:7:9", - "typeDescriptions": {} - } - }, - "id": 1684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "937:19:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "932:24:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "926:5:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 1676, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "926:5:9", - "typeDescriptions": {} - } - }, - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "926:31:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 1675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "919:6:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": { - "id": 1674, - "name": "bytes1", - "nodeType": "ElementaryTypeName", - "src": "919:6:9", - "typeDescriptions": {} - } - }, - "id": 1687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "919:39:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "902:56:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1689, - "nodeType": "ExpressionStatement", - "src": "902:56:9" - }, - { - "expression": { - "id": 1692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1690, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "972:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "hexValue": "3130", - "id": 1691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "981:2:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "972:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1693, - "nodeType": "ExpressionStatement", - "src": "972:11:9" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1664, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "851:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 1665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "860:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "851:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1695, - "nodeType": "WhileStatement", - "src": "844:150:9" - }, - { - "expression": { - "arguments": [ - { - "id": 1698, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "1017:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1010:6:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1696, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1010:6:9", - "typeDescriptions": {} - } - }, - "id": 1699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1010:14:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1630, - "id": 1700, - "nodeType": "Return", - "src": "1003:21:9" - } - ] - }, - "documentation": { - "id": 1624, - "nodeType": "StructuredDocumentation", - "src": "233:90:9", - "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." - }, - "id": 1702, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nameLocation": "337:8:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1627, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1626, - "mutability": "mutable", - "name": "value", - "nameLocation": "354:5:9", - "nodeType": "VariableDeclaration", - "scope": 1702, - "src": "346:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1625, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "346:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "345:15:9" - }, - "returnParameters": { - "id": 1630, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1629, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1702, - "src": "384:13:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1628, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "384:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "383:15:9" - }, - "scope": 1820, - "src": "328:703:9", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1742, - "nodeType": "Block", - "src": "1210:255:9", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1710, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "1224:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1233:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1224:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1716, - "nodeType": "IfStatement", - "src": "1220:54:9", - "trueBody": { - "id": 1715, - "nodeType": "Block", - "src": "1236:38:9", - "statements": [ - { - "expression": { - "hexValue": "30783030", - "id": 1713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1257:6:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fae64141728105692eac6031e8a4", - "typeString": "literal_string \"0x00\"" - }, - "value": "0x00" - }, - "functionReturnParameters": 1709, - "id": 1714, - "nodeType": "Return", - "src": "1250:13:9" - } - ] - } - }, - { - "assignments": [ - 1718 - ], - "declarations": [ - { - "constant": false, - "id": 1718, - "mutability": "mutable", - "name": "temp", - "nameLocation": "1291:4:9", - "nodeType": "VariableDeclaration", - "scope": 1742, - "src": "1283:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1283:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1720, - "initialValue": { - "id": 1719, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "1298:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1283:20:9" - }, - { - "assignments": [ - 1722 - ], - "declarations": [ - { - "constant": false, - "id": 1722, - "mutability": "mutable", - "name": "length", - "nameLocation": "1321:6:9", - "nodeType": "VariableDeclaration", - "scope": 1742, - "src": "1313:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1313:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1724, - "initialValue": { - "hexValue": "30", - "id": 1723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1330:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1313:18:9" - }, - { - "body": { - "id": 1735, - "nodeType": "Block", - "src": "1359:57:9", - "statements": [ - { - "expression": { - "id": 1729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1373:8:9", - "subExpression": { - "id": 1728, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1722, - "src": "1373:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1730, - "nodeType": "ExpressionStatement", - "src": "1373:8:9" - }, - { - "expression": { - "id": 1733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1731, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1718, - "src": "1395:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "38", - "id": 1732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1404:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "1395:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1734, - "nodeType": "ExpressionStatement", - "src": "1395:10:9" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1725, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1718, - "src": "1348:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 1726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1356:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1348:9:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1736, - "nodeType": "WhileStatement", - "src": "1341:75:9" - }, - { - "expression": { - "arguments": [ - { - "id": 1738, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "1444:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1739, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1722, - "src": "1451:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1737, - "name": "toHexString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1743, - 1819 - ], - "referencedDeclaration": 1819, - "src": "1432:11:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 1740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1432:26:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1709, - "id": 1741, - "nodeType": "Return", - "src": "1425:33:9" - } - ] - }, - "documentation": { - "id": 1703, - "nodeType": "StructuredDocumentation", - "src": "1037:94:9", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." - }, - "id": 1743, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1145:11:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1705, - "mutability": "mutable", - "name": "value", - "nameLocation": "1165:5:9", - "nodeType": "VariableDeclaration", - "scope": 1743, - "src": "1157:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1157:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1156:15:9" - }, - "returnParameters": { - "id": 1709, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1708, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1743, - "src": "1195:13:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1707, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1195:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1194:15:9" - }, - "scope": 1820, - "src": "1136:329:9", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1818, - "nodeType": "Block", - "src": "1678:351:9", - "statements": [ - { - "assignments": [ - 1754 - ], - "declarations": [ - { - "constant": false, - "id": 1754, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "1701:6:9", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "1688:19:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1753, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1688:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1763, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 1757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1720:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1758, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1748, - "src": "1724:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1720:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "32", - "id": 1760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1733:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1720:14:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1710:9:9", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1755, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1714:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1710:25:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1688:47:9" - }, - { - "expression": { - "id": 1768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1764, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1754, - "src": "1745:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1766, - "indexExpression": { - "hexValue": "30", - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1752:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1745:9:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 1767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1757:3:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "src": "1745:15:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1769, - "nodeType": "ExpressionStatement", - "src": "1745:15:9" - }, - { - "expression": { - "id": 1774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1770, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1754, - "src": "1770:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1772, - "indexExpression": { - "hexValue": "31", - "id": 1771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1777:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1770:9:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "78", - "id": 1773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1782:3:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", - "typeString": "literal_string \"x\"" - }, - "value": "x" - }, - "src": "1770:15:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1775, - "nodeType": "ExpressionStatement", - "src": "1770:15:9" - }, - { - "body": { - "id": 1804, - "nodeType": "Block", - "src": "1840:87:9", - "statements": [ - { - "expression": { - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1790, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1754, - "src": "1854:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1792, - "indexExpression": { - "id": 1791, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1777, - "src": "1861:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1854:9:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1793, - "name": "_HEX_SYMBOLS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1623, - "src": "1866:12:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "id": 1797, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1794, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "1879:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "307866", - "id": 1795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1887:3:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "0xf" - }, - "src": "1879:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1866:25:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "1854:37:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1799, - "nodeType": "ExpressionStatement", - "src": "1854:37:9" - }, - { - "expression": { - "id": 1802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1800, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "1905:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "34", - "id": 1801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "1905:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1803, - "nodeType": "ExpressionStatement", - "src": "1905:11:9" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1784, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1777, - "src": "1828:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "31", - "id": 1785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1832:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1828:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1805, - "initializationExpression": { - "assignments": [ - 1777 - ], - "declarations": [ - { - "constant": false, - "id": 1777, - "mutability": "mutable", - "name": "i", - "nameLocation": "1808:1:9", - "nodeType": "VariableDeclaration", - "scope": 1805, - "src": "1800:9:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1800:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1783, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 1778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1812:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1779, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1748, - "src": "1816:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1812:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 1781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1825:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1812:14:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1800:26:9" - }, - "loopExpression": { - "expression": { - "id": 1788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": true, - "src": "1835:3:9", - "subExpression": { - "id": 1787, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1777, - "src": "1837:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1789, - "nodeType": "ExpressionStatement", - "src": "1835:3:9" - }, - "nodeType": "ForStatement", - "src": "1795:132:9" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1807, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "1944:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1953:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1944:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", - "id": 1810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1956:34:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", - "typeString": "literal_string \"Strings: hex length insufficient\"" - }, - "value": "Strings: hex length insufficient" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", - "typeString": "literal_string \"Strings: hex length insufficient\"" - } - ], - "id": 1806, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1936:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1936:55:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1812, - "nodeType": "ExpressionStatement", - "src": "1936:55:9" - }, - { - "expression": { - "arguments": [ - { - "id": 1815, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1754, - "src": "2015:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2008:6:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1813, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2008:6:9", - "typeDescriptions": {} - } - }, - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2008:14:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1752, - "id": 1817, - "nodeType": "Return", - "src": "2001:21:9" - } - ] - }, - "documentation": { - "id": 1744, - "nodeType": "StructuredDocumentation", - "src": "1471:112:9", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." - }, - "id": 1819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1597:11:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1746, - "mutability": "mutable", - "name": "value", - "nameLocation": "1617:5:9", - "nodeType": "VariableDeclaration", - "scope": 1819, - "src": "1609:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1745, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1609:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1748, - "mutability": "mutable", - "name": "length", - "nameLocation": "1632:6:9", - "nodeType": "VariableDeclaration", - "scope": 1819, - "src": "1624:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1747, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1624:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1608:31:9" - }, - "returnParameters": { - "id": 1752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1751, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1819, - "src": "1663:13:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1750, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1663:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1662:15:9" - }, - "scope": 1820, - "src": "1588:441:9", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1821, - "src": "146:1885:9", - "usedErrors": [] - } - ], - "src": "86:1946:9" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "exportedSymbols": { - "Strings": [ - 1820 - ] - }, - "id": 1821, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1619, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "86:23:9" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Strings", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1620, - "nodeType": "StructuredDocumentation", - "src": "111:34:9", - "text": " @dev String operations." - }, - "fullyImplemented": true, - "id": 1820, - "linearizedBaseContracts": [ - 1820 - ], - "name": "Strings", - "nameLocation": "154:7:9", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 1623, - "mutability": "constant", - "name": "_HEX_SYMBOLS", - "nameLocation": "193:12:9", - "nodeType": "VariableDeclaration", - "scope": 1820, - "src": "168:58:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 1621, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "168:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": { - "hexValue": "30313233343536373839616263646566", - "id": 1622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "208:18:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", - "typeString": "literal_string \"0123456789abcdef\"" - }, - "value": "0123456789abcdef" - }, - "visibility": "private" - }, - { - "body": { - "id": 1701, - "nodeType": "Block", - "src": "399:632:9", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1631, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "601:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "610:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "601:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1637, - "nodeType": "IfStatement", - "src": "597:51:9", - "trueBody": { - "id": 1636, - "nodeType": "Block", - "src": "613:35:9", - "statements": [ - { - "expression": { - "hexValue": "30", - "id": 1634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "634:3:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "functionReturnParameters": 1630, - "id": 1635, - "nodeType": "Return", - "src": "627:10:9" - } - ] - } - }, - { - "assignments": [ - 1639 - ], - "declarations": [ - { - "constant": false, - "id": 1639, - "mutability": "mutable", - "name": "temp", - "nameLocation": "665:4:9", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "657:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1638, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "657:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1641, - "initialValue": { - "id": 1640, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "672:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "657:20:9" - }, - { - "assignments": [ - 1643 - ], - "declarations": [ - { - "constant": false, - "id": 1643, - "mutability": "mutable", - "name": "digits", - "nameLocation": "695:6:9", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "687:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1642, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "687:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1644, - "nodeType": "VariableDeclarationStatement", - "src": "687:14:9" - }, - { - "body": { - "id": 1655, - "nodeType": "Block", - "src": "729:57:9", - "statements": [ - { - "expression": { - "id": 1649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "743:8:9", - "subExpression": { - "id": 1648, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "743:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1650, - "nodeType": "ExpressionStatement", - "src": "743:8:9" - }, - { - "expression": { - "id": 1653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1651, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1639, - "src": "765:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "hexValue": "3130", - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "773:2:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "765:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1654, - "nodeType": "ExpressionStatement", - "src": "765:10:9" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1645, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1639, - "src": "718:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 1646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "726:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "718:9:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1656, - "nodeType": "WhileStatement", - "src": "711:75:9" - }, - { - "assignments": [ - 1658 - ], - "declarations": [ - { - "constant": false, - "id": 1658, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "808:6:9", - "nodeType": "VariableDeclaration", - "scope": 1701, - "src": "795:19:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1657, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "795:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1663, - "initialValue": { - "arguments": [ - { - "id": 1661, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "827:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "817:9:9", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1659, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "821:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "817:17:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "795:39:9" - }, - { - "body": { - "id": 1694, - "nodeType": "Block", - "src": "863:131:9", - "statements": [ - { - "expression": { - "id": 1669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1667, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "877:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 1668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "887:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "877:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1670, - "nodeType": "ExpressionStatement", - "src": "877:11:9" - }, - { - "expression": { - "id": 1688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1671, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "902:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1673, - "indexExpression": { - "id": 1672, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1643, - "src": "909:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "902:14:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3438", - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "932:2:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1681, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "945:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "hexValue": "3130", - "id": 1682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "953:2:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "945:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "937:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "937:7:9", - "typeDescriptions": {} - } - }, - "id": 1684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "937:19:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "932:24:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "926:5:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 1676, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "926:5:9", - "typeDescriptions": {} - } - }, - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "926:31:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 1675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "919:6:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": { - "id": 1674, - "name": "bytes1", - "nodeType": "ElementaryTypeName", - "src": "919:6:9", - "typeDescriptions": {} - } - }, - "id": 1687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "919:39:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "902:56:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1689, - "nodeType": "ExpressionStatement", - "src": "902:56:9" - }, - { - "expression": { - "id": 1692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1690, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "972:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "hexValue": "3130", - "id": 1691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "981:2:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "972:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1693, - "nodeType": "ExpressionStatement", - "src": "972:11:9" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1664, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1626, - "src": "851:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 1665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "860:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "851:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1695, - "nodeType": "WhileStatement", - "src": "844:150:9" - }, - { - "expression": { - "arguments": [ - { - "id": 1698, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1658, - "src": "1017:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1010:6:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1696, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1010:6:9", - "typeDescriptions": {} - } - }, - "id": 1699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1010:14:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1630, - "id": 1700, - "nodeType": "Return", - "src": "1003:21:9" - } - ] - }, - "documentation": { - "id": 1624, - "nodeType": "StructuredDocumentation", - "src": "233:90:9", - "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." - }, - "id": 1702, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nameLocation": "337:8:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1627, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1626, - "mutability": "mutable", - "name": "value", - "nameLocation": "354:5:9", - "nodeType": "VariableDeclaration", - "scope": 1702, - "src": "346:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1625, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "346:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "345:15:9" - }, - "returnParameters": { - "id": 1630, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1629, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1702, - "src": "384:13:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1628, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "384:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "383:15:9" - }, - "scope": 1820, - "src": "328:703:9", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1742, - "nodeType": "Block", - "src": "1210:255:9", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1710, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "1224:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1233:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1224:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1716, - "nodeType": "IfStatement", - "src": "1220:54:9", - "trueBody": { - "id": 1715, - "nodeType": "Block", - "src": "1236:38:9", - "statements": [ - { - "expression": { - "hexValue": "30783030", - "id": 1713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1257:6:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fae64141728105692eac6031e8a4", - "typeString": "literal_string \"0x00\"" - }, - "value": "0x00" - }, - "functionReturnParameters": 1709, - "id": 1714, - "nodeType": "Return", - "src": "1250:13:9" - } - ] - } - }, - { - "assignments": [ - 1718 - ], - "declarations": [ - { - "constant": false, - "id": 1718, - "mutability": "mutable", - "name": "temp", - "nameLocation": "1291:4:9", - "nodeType": "VariableDeclaration", - "scope": 1742, - "src": "1283:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1283:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1720, - "initialValue": { - "id": 1719, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "1298:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1283:20:9" - }, - { - "assignments": [ - 1722 - ], - "declarations": [ - { - "constant": false, - "id": 1722, - "mutability": "mutable", - "name": "length", - "nameLocation": "1321:6:9", - "nodeType": "VariableDeclaration", - "scope": 1742, - "src": "1313:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1313:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1724, - "initialValue": { - "hexValue": "30", - "id": 1723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1330:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1313:18:9" - }, - { - "body": { - "id": 1735, - "nodeType": "Block", - "src": "1359:57:9", - "statements": [ - { - "expression": { - "id": 1729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1373:8:9", - "subExpression": { - "id": 1728, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1722, - "src": "1373:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1730, - "nodeType": "ExpressionStatement", - "src": "1373:8:9" - }, - { - "expression": { - "id": 1733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1731, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1718, - "src": "1395:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "38", - "id": 1732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1404:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "1395:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1734, - "nodeType": "ExpressionStatement", - "src": "1395:10:9" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1725, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1718, - "src": "1348:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 1726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1356:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1348:9:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1736, - "nodeType": "WhileStatement", - "src": "1341:75:9" - }, - { - "expression": { - "arguments": [ - { - "id": 1738, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1705, - "src": "1444:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1739, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1722, - "src": "1451:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1737, - "name": "toHexString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1743, - 1819 - ], - "referencedDeclaration": 1819, - "src": "1432:11:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 1740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1432:26:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1709, - "id": 1741, - "nodeType": "Return", - "src": "1425:33:9" - } - ] - }, - "documentation": { - "id": 1703, - "nodeType": "StructuredDocumentation", - "src": "1037:94:9", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." - }, - "id": 1743, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1145:11:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1705, - "mutability": "mutable", - "name": "value", - "nameLocation": "1165:5:9", - "nodeType": "VariableDeclaration", - "scope": 1743, - "src": "1157:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1157:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1156:15:9" - }, - "returnParameters": { - "id": 1709, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1708, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1743, - "src": "1195:13:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1707, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1195:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1194:15:9" - }, - "scope": 1820, - "src": "1136:329:9", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1818, - "nodeType": "Block", - "src": "1678:351:9", - "statements": [ - { - "assignments": [ - 1754 - ], - "declarations": [ - { - "constant": false, - "id": 1754, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "1701:6:9", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "1688:19:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1753, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1688:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1763, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 1757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1720:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1758, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1748, - "src": "1724:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1720:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "32", - "id": 1760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1733:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1720:14:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1710:9:9", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1755, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1714:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1710:25:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1688:47:9" - }, - { - "expression": { - "id": 1768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1764, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1754, - "src": "1745:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1766, - "indexExpression": { - "hexValue": "30", - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1752:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1745:9:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 1767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1757:3:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "src": "1745:15:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1769, - "nodeType": "ExpressionStatement", - "src": "1745:15:9" - }, - { - "expression": { - "id": 1774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1770, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1754, - "src": "1770:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1772, - "indexExpression": { - "hexValue": "31", - "id": 1771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1777:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1770:9:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "78", - "id": 1773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1782:3:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", - "typeString": "literal_string \"x\"" - }, - "value": "x" - }, - "src": "1770:15:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1775, - "nodeType": "ExpressionStatement", - "src": "1770:15:9" - }, - { - "body": { - "id": 1804, - "nodeType": "Block", - "src": "1840:87:9", - "statements": [ - { - "expression": { - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1790, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1754, - "src": "1854:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1792, - "indexExpression": { - "id": 1791, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1777, - "src": "1861:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1854:9:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1793, - "name": "_HEX_SYMBOLS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1623, - "src": "1866:12:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "id": 1797, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1794, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "1879:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "307866", - "id": 1795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1887:3:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "0xf" - }, - "src": "1879:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1866:25:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "1854:37:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1799, - "nodeType": "ExpressionStatement", - "src": "1854:37:9" - }, - { - "expression": { - "id": 1802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1800, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "1905:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "34", - "id": 1801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1915:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "1905:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1803, - "nodeType": "ExpressionStatement", - "src": "1905:11:9" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1784, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1777, - "src": "1828:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "31", - "id": 1785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1832:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1828:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1805, - "initializationExpression": { - "assignments": [ - 1777 - ], - "declarations": [ - { - "constant": false, - "id": 1777, - "mutability": "mutable", - "name": "i", - "nameLocation": "1808:1:9", - "nodeType": "VariableDeclaration", - "scope": 1805, - "src": "1800:9:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1800:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1783, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 1778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1812:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1779, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1748, - "src": "1816:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1812:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 1781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1825:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1812:14:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1800:26:9" - }, - "loopExpression": { - "expression": { - "id": 1788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": true, - "src": "1835:3:9", - "subExpression": { - "id": 1787, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1777, - "src": "1837:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1789, - "nodeType": "ExpressionStatement", - "src": "1835:3:9" - }, - "nodeType": "ForStatement", - "src": "1795:132:9" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1807, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "1944:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1953:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1944:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", - "id": 1810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1956:34:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", - "typeString": "literal_string \"Strings: hex length insufficient\"" - }, - "value": "Strings: hex length insufficient" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", - "typeString": "literal_string \"Strings: hex length insufficient\"" - } - ], - "id": 1806, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1936:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1936:55:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1812, - "nodeType": "ExpressionStatement", - "src": "1936:55:9" - }, - { - "expression": { - "arguments": [ - { - "id": 1815, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1754, - "src": "2015:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2008:6:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1813, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2008:6:9", - "typeDescriptions": {} - } - }, - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2008:14:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1752, - "id": 1817, - "nodeType": "Return", - "src": "2001:21:9" - } - ] - }, - "documentation": { - "id": 1744, - "nodeType": "StructuredDocumentation", - "src": "1471:112:9", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." - }, - "id": 1819, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1597:11:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1746, - "mutability": "mutable", - "name": "value", - "nameLocation": "1617:5:9", - "nodeType": "VariableDeclaration", - "scope": 1819, - "src": "1609:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1745, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1609:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1748, - "mutability": "mutable", - "name": "length", - "nameLocation": "1632:6:9", - "nodeType": "VariableDeclaration", - "scope": 1819, - "src": "1624:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1747, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1624:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1608:31:9" - }, - "returnParameters": { - "id": 1752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1751, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1819, - "src": "1663:13:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1750, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1663:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1662:15:9" - }, - "scope": 1820, - "src": "1588:441:9", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1821, - "src": "146:1885:9", - "usedErrors": [] - } - ], - "src": "86:1946:9" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:14:28.600Z", - "devdoc": { - "details": "String operations.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build2/contracts/SuchWowX.json b/build2/contracts/SuchWowX.json deleted file mode 100644 index 1f8a358..0000000 --- a/build2/contracts/SuchWowX.json +++ /dev/null @@ -1,26892 +0,0 @@ -{ - "contractName": "SuchWowX", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": [], - "name": "contractCreator", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "contractTipCutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "contractVersion", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "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": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "metadataTokenId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "publisherTipCutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "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": "", - "type": "uint256" - } - ], - "name": "tokenMeme", - "outputs": [ - { - "internalType": "uint256", - "name": "publisherTipsAVAX", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "creatorTipsAVAX", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "contractTipsAVAX", - "type": "uint256" - }, - { - "internalType": "address", - "name": "publisherAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "creatorAddress", - "type": "address" - }, - { - "internalType": "string", - "name": "metadataIPFSHash", - "type": "string" - } - ], - "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" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "userProfile", - "outputs": [ - { - "internalType": "string", - "name": "wowneroAddress", - "type": "string" - }, - { - "internalType": "string", - "name": "userHandle", - "type": "string" - }, - { - "internalType": "string", - "name": "metadataIPFSHash", - "type": "string" - }, - { - "internalType": "uint256", - "name": "tippedAVAX", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "percent", - "type": "uint256" - } - ], - "name": "setContractTipCut", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "percent", - "type": "uint256" - } - ], - "name": "setPublisherTipCut", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "wowneroAddress", - "type": "string" - } - ], - "name": "setUserWowneroAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "handle", - "type": "string" - } - ], - "name": "setUserHandle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "metadataIPFSHash", - "type": "string" - } - ], - "name": "setUserMetadata", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "metadataIPFSHash", - "type": "string" - }, - { - "internalType": "address", - "name": "creatorAddress", - "type": "address" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tipAVAX", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":[],\"name\":\"contractCreator\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractTipCutPercent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"metadataTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"metadataIPFSHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"creatorAddress\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"publisherTipCutPercent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"}],\"name\":\"setContractTipCut\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"}],\"name\":\"setPublisherTipCut\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"handle\",\"type\":\"string\"}],\"name\":\"setUserHandle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"metadataIPFSHash\",\"type\":\"string\"}],\"name\":\"setUserMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"wowneroAddress\",\"type\":\"string\"}],\"name\":\"setUserWowneroAddress\",\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tipAVAX\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenMeme\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"publisherTipsAVAX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"creatorTipsAVAX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contractTipsAVAX\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"publisherAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"creatorAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"metadataIPFSHash\",\"type\":\"string\"}],\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userProfile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"wowneroAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"userHandle\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"metadataIPFSHash\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"tippedAVAX\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/SuchWowX.sol\":\"SuchWowX\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x81c02855bc239e16ec09eee000a8bec691424c715188d6d881037e69c45414c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46e3ecc8920aeb78c362a387520fe28e022cdc6d04256d9e5874eb8ff6868b6d\",\"dweb:/ipfs/QmdfCTHrV6CZMGiM3KqGF8tWkdNvGpEmWFyy72X1LAHsz2\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd5fa74b4fb323776fa4a8158800fec9d5ac0fec0d6dd046dd93798632ada265f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33017a30a99cc5411a9e376622c31fc4a55cfc6a335e2f57f00cbf24a817ff3f\",\"dweb:/ipfs/QmWNQtWTPhA7Lo8nbxbc8KFMvZwbFYB8fSeEQ3vuapSV4a\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x1cbe42915bc66227970fe99bc0f783eb1de30f2b48f984af01ad45edb9658698\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2baa08eb67d9da46e6c4c049f17b7684a1c68c5268d0f466cfa0eb23ce2bf9b0\",\"dweb:/ipfs/Qmdnj8zj4PfErB2HM2eKmDt7FrqrhggsZ6Qd8MpD593tgj\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x51b758a8815ecc9596c66c37d56b1d33883a444631a3f916b9fe65cb863ef7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://997ca03557985b3c6f9143a18b6c3a710b3bc1c7f189ee956d305a966ecfb922\",\"dweb:/ipfs/QmQaD3Wb62F88SHqmpLttvF6wKuPDQep2LLUcKPekeRzvz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0xa2f576be637946f767aa56601c26d717f48a0aff44f82e46f13807eea1009a21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://973868f808e88e21a1a0a01d4839314515ee337ad096286c88e41b74dcc11fc2\",\"dweb:/ipfs/QmfYuZxRfx2J2xdk4EXN7jKg4bUYEMTaYk9BAw9Bqn4o2Y\"]},\"project:/contracts/SuchWowX.sol\":{\"keccak256\":\"0xece3b3aa0ded14ef181b0277d0dccacfe384c6126987e35fe1deb3a900543015\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3ea653556ee7f949435218013d4f3453f5ca9b4390b63f49c5217d56b73f37c\",\"dweb:/ipfs/QmVnSdEGjQnUMSK9TYFci25nkwCbxZGWsZtijsds4bkMUv\"]}},\"version\":1}", - "bytecode": "0x60c0604052600d60808190526c0d8f4c2dacadcc2c6ca5ccae8d609b1b60a09081526200003091600c919062000151565b506040805180820190915260048082526376302e3160e01b60209092019182526200005e91600d9162000151565b506005600e556005600f553480156200007657600080fd5b5060408051808201825260088152670a6eac6d0aedeeeb60c31b6020808301918252835180850190945260038452620a6aeb60eb1b908401528151919291620000c29160009162000151565b508051620000d890600190602084019062000151565b505050620000f5620000ef620000fb60201b60201c565b620000ff565b62000234565b3390565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200015f90620001f7565b90600052602060002090601f016020900481019282620001835760008555620001ce565b82601f106200019e57805160ff1916838001178555620001ce565b82800160010185558215620001ce579182015b82811115620001ce578251825591602001919060010190620001b1565b50620001dc929150620001e0565b5090565b5b80821115620001dc5760008155600101620001e1565b600181811c908216806200020c57607f821691505b602082108114156200022e57634e487b7160e01b600052602260045260246000fd5b50919050565b61244e80620002446000396000f3fe6080604052600436106101e35760003560e01c8063715018a611610102578063afb5d0d411610095578063e4faf68a11610064578063e4faf68a14610564578063e985e9c51461059c578063f2fde38b146105e5578063fab122911461060557600080fd5b8063afb5d0d4146104e4578063b88d4fde14610504578063c87b56dd14610524578063d1ac04931461054457600080fd5b806395d89b41116100d157806395d89b4114610484578063a0a8e46014610499578063a22cb465146104ae578063a8ad4198146104ce57600080fd5b8063715018a61461041b57806373ab097614610430578063849cac9a146104465780638da5cb5b1461046657600080fd5b80631e2f73b11161017a5780633ccfd60b116101495780633ccfd60b146103a657806342842e0e146103bb5780636352211e146103db57806370a08231146103fb57600080fd5b80631e2f73b11461032c57806323b872dd1461034157806325a80b3d146103615780632f0d275c1461037457600080fd5b8063095ea7b3116101b6578063095ea7b31461029957806318160ddd146102b95780631c351a9d146102dc5780631c8e8962146102fc57600080fd5b806301ffc9a7146101e857806303ae8eb21461021d57806306fdde031461023f578063081812fc14610261575b600080fd5b3480156101f457600080fd5b50610208610203366004611d8d565b610625565b60405190151581526020015b60405180910390f35b34801561022957600080fd5b5061023d610238366004611daa565b610677565b005b34801561024b57600080fd5b5061025461070b565b6040516102149190611e1b565b34801561026d57600080fd5b5061028161027c366004611daa565b61079d565b6040516001600160a01b039091168152602001610214565b3480156102a557600080fd5b5061023d6102b4366004611e4a565b610832565b3480156102c557600080fd5b506102ce610948565b604051908152602001610214565b3480156102e857600080fd5b5061023d6102f7366004611f20565b610958565b34801561030857600080fd5b5061031c610317366004611f6e565b610b77565b6040516102149493929190611f89565b34801561033857600080fd5b50610254610d37565b34801561034d57600080fd5b5061023d61035c366004611fd4565b610dc5565b61023d61036f366004611daa565b610df6565b34801561038057600080fd5b5061039461038f366004611daa565b61101b565b60405161021496959493929190612010565b3480156103b257600080fd5b5061023d6110e8565b3480156103c757600080fd5b5061023d6103d6366004611fd4565b611145565b3480156103e757600080fd5b506102816103f6366004611daa565b611160565b34801561040757600080fd5b506102ce610416366004611f6e565b6111d7565b34801561042757600080fd5b5061023d61125e565b34801561043c57600080fd5b506102ce600e5481565b34801561045257600080fd5b5061023d61046136600461205c565b611294565b34801561047257600080fd5b506007546001600160a01b0316610281565b34801561049057600080fd5b5061025461130b565b3480156104a557600080fd5b5061025461131a565b3480156104ba57600080fd5b5061023d6104c9366004612091565b611327565b3480156104da57600080fd5b506102ce600f5481565b3480156104f057600080fd5b5061023d6104ff36600461205c565b611332565b34801561051057600080fd5b5061023d61051f3660046120cd565b6113ad565b34801561053057600080fd5b5061025461053f366004611daa565b6113e5565b34801561055057600080fd5b5061023d61055f366004611daa565b611423565b34801561057057600080fd5b506102ce61057f36600461205c565b8051602081830181018051600b8252928201919093012091525481565b3480156105a857600080fd5b506102086105b7366004612149565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156105f157600080fd5b5061023d610600366004611f6e565b6114af565b34801561061157600080fd5b5061023d61062036600461205c565b61154a565b60006001600160e01b031982166380ac58cd60e01b148061065657506001600160e01b03198216635b5e139f60e01b145b8061067157506301ffc9a760e01b6001600160e01b03198316145b92915050565b6007546001600160a01b031633146106aa5760405162461bcd60e51b81526004016106a190612173565b60405180910390fd5b600a8111156107065760405162461bcd60e51b815260206004820152602260248201527f436f6e747261637420746970206375742063616e6e6f74206578636565642031604482015261302560f01b60648201526084016106a1565b600e55565b60606000805461071a906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610746906121a8565b80156107935780601f1061076857610100808354040283529160200191610793565b820191906000526020600020905b81548152906001019060200180831161077657829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166108165760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106a1565b506000908152600460205260409020546001600160a01b031690565b600061083d82611160565b9050806001600160a01b0316836001600160a01b031614156108ab5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016106a1565b336001600160a01b03821614806108c757506108c781336105b7565b6109395760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106a1565b61094383836115cd565b505050565b600061095360085490565b905090565b60008251116109b55760405162461bcd60e51b815260206004820152602360248201527f4d65746164617461204950465320686173682063616e6e6f7420626520656d706044820152623a3c9760e91b60648201526084016106a1565b600b826040516109c591906121e3565b908152602001604051809103902054600014610a405760405162461bcd60e51b815260206004820152603460248201527f54686174206d65746164617461204950465320686173682068617320616c726560448201527330b23c903132b2b7103932b332b932b731b2b21760611b60648201526084016106a1565b6000610a4a610948565b610a55906001612215565b9050610a61338261163b565b610a6f600880546001019055565b80600b84604051610a8091906121e3565b908152604080516020928190038301812093909355336000818152600a84528281206004908101805460018082018355918452868420018890556001600160a01b03898116808552868520600590810180548086018255908752898720018b905560c08a018852858a52888a018681528a890187815260608c0198895260808c0193845260a08c018f81528d895260098c52999097208b5181559051948101949094559451600284015594516003830180546001600160a01b031990811692841692909217905594519282018054909516921691909117909255915180519193610b6f93850192910190611cde565b505050505050565b600a60205260009081526040902080548190610b92906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbe906121a8565b8015610c0b5780601f10610be057610100808354040283529160200191610c0b565b820191906000526020600020905b815481529060010190602001808311610bee57829003601f168201915b505050505090806001018054610c20906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4c906121a8565b8015610c995780601f10610c6e57610100808354040283529160200191610c99565b820191906000526020600020905b815481529060010190602001808311610c7c57829003601f168201915b505050505090806002018054610cae906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610cda906121a8565b8015610d275780601f10610cfc57610100808354040283529160200191610d27565b820191906000526020600020905b815481529060010190602001808311610d0a57829003601f168201915b5050505050908060030154905084565b600c8054610d44906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610d70906121a8565b8015610dbd5780601f10610d9257610100808354040283529160200191610dbd565b820191906000526020600020905b815481529060010190602001808311610da057829003601f168201915b505050505081565b610dcf3382611655565b610deb5760405162461bcd60e51b81526004016106a19061222d565b61094383838361174c565b610dfe610948565b811115610e4d5760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420746970206e6f6e2d6578697374656e7420746f6b656e2e000060448201526064016106a1565b600e54606490600090610e6c90610e659084906118ec565b34906118ec565b90506000610e88610e65600f54856118ec90919063ffffffff16565b90506000610ea0610e9984846118ff565b349061190b565b60008681526009602090815260408083206004810154600391820154338652600a90945291909320909201549293506001600160a01b03918216929116903090610eea90346118ff565b336000908152600a60209081526040808320600301939093558a8252600990522060010154610f1990856118ff565b6000898152600960205260409020600181019190915554610f3a90866118ff565b600089815260096020526040902090815560020154610f5990876118ff565b6000898152600960205260408082206002019290925590516001600160a01b0385169186156108fc02918791818181858888f19350505050158015610fa2573d6000803e3d6000fd5b506040516001600160a01b0383169086156108fc029087906000818181858888f19350505050158015610fd9573d6000803e3d6000fd5b506040516001600160a01b0382169087156108fc029088906000818181858888f19350505050158015611010573d6000803e3d6000fd5b505050505050505050565b6009602052600090815260409020805460018201546002830154600384015460048501546005860180549596949593946001600160a01b03938416949390921692611065906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054611091906121a8565b80156110de5780601f106110b3576101008083540402835291602001916110de565b820191906000526020600020905b8154815290600101906020018083116110c157829003601f168201915b5050505050905086565b6007546001600160a01b031633146111125760405162461bcd60e51b81526004016106a190612173565b6040514790339082156108fc029083906000818181858888f19350505050158015611141573d6000803e3d6000fd5b5050565b610943838383604051806020016040528060008152506113ad565b6000818152600260205260408120546001600160a01b0316806106715760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016106a1565b60006001600160a01b0382166112425760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016106a1565b506001600160a01b031660009081526003602052604090205490565b6007546001600160a01b031633146112885760405162461bcd60e51b81526004016106a190612173565b6112926000611917565b565b60008151116112e55760405162461bcd60e51b815260206004820152601860248201527f48616e646c65206d7573742062652070726f76696465642e000000000000000060448201526064016106a1565b336000908152600a60209081526040909120825161114192600190920191840190611cde565b60606001805461071a906121a8565b600d8054610d44906121a8565b611141338383611969565b600081511161138d5760405162461bcd60e51b815260206004820152602160248201527f576f776e65726f2061646472657373206d7573742062652070726f76696465646044820152601760f91b60648201526084016106a1565b336000908152600a60209081526040909120825161114192840190611cde565b6113b73383611655565b6113d35760405162461bcd60e51b81526004016106a19061222d565b6113df84848484611a38565b50505050565b60606009600083815260200190815260200160002060050160405160200161140d919061227e565b6040516020818303038152906040529050919050565b6007546001600160a01b0316331461144d5760405162461bcd60e51b81526004016106a190612173565b600a8111156114aa5760405162461bcd60e51b815260206004820152602360248201527f5075626c697368657220746970206375742063616e6e6f74206578636565642060448201526231302560e81b60648201526084016106a1565b600f55565b6007546001600160a01b031633146114d95760405162461bcd60e51b81526004016106a190612173565b6001600160a01b03811661153e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a1565b61154781611917565b50565b60008151116115a75760405162461bcd60e51b8152602060048201526024808201527f4d6574616461746120495046532068617368206d7573742062652070726f76696044820152633232b21760e11b60648201526084016106a1565b336000908152600a60209081526040909120825161114192600290920191840190611cde565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061160282611160565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b611141828260405180602001604052806000815250611a6b565b6000818152600260205260408120546001600160a01b03166116ce5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106a1565b60006116d983611160565b9050806001600160a01b0316846001600160a01b031614806117145750836001600160a01b03166117098461079d565b6001600160a01b0316145b8061174457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b031661175f82611160565b6001600160a01b0316146117c75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016106a1565b6001600160a01b0382166118295760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106a1565b6118346000826115cd565b6001600160a01b038316600090815260036020526040812080546001929061185d908490612333565b90915550506001600160a01b038216600090815260036020526040812080546001929061188b908490612215565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006118f8828461234a565b9392505050565b60006118f88284612215565b60006118f88284612333565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031614156119cb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106a1565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611a4384848461174c565b611a4f84848484611a9e565b6113df5760405162461bcd60e51b81526004016106a19061236c565b611a758383611b9c565b611a826000848484611a9e565b6109435760405162461bcd60e51b81526004016106a19061236c565b60006001600160a01b0384163b15611b9157604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611ae29033908990889088906004016123be565b6020604051808303816000875af1925050508015611b1d575060408051601f3d908101601f19168201909252611b1a918101906123fb565b60015b611b77573d808015611b4b576040519150601f19603f3d011682016040523d82523d6000602084013e611b50565b606091505b508051611b6f5760405162461bcd60e51b81526004016106a19061236c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611744565b506001949350505050565b6001600160a01b038216611bf25760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106a1565b6000818152600260205260409020546001600160a01b031615611c575760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016106a1565b6001600160a01b0382166000908152600360205260408120805460019290611c80908490612215565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054611cea906121a8565b90600052602060002090601f016020900481019282611d0c5760008555611d52565b82601f10611d2557805160ff1916838001178555611d52565b82800160010185558215611d52579182015b82811115611d52578251825591602001919060010190611d37565b50611d5e929150611d62565b5090565b5b80821115611d5e5760008155600101611d63565b6001600160e01b03198116811461154757600080fd5b600060208284031215611d9f57600080fd5b81356118f881611d77565b600060208284031215611dbc57600080fd5b5035919050565b60005b83811015611dde578181015183820152602001611dc6565b838111156113df5750506000910152565b60008151808452611e07816020860160208601611dc3565b601f01601f19169290920160200192915050565b6020815260006118f86020830184611def565b80356001600160a01b0381168114611e4557600080fd5b919050565b60008060408385031215611e5d57600080fd5b611e6683611e2e565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611ea557611ea5611e74565b604051601f8501601f19908116603f01168101908282118183101715611ecd57611ecd611e74565b81604052809350858152868686011115611ee657600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112611f1157600080fd5b6118f883833560208501611e8a565b60008060408385031215611f3357600080fd5b823567ffffffffffffffff811115611f4a57600080fd5b611f5685828601611f00565b925050611f6560208401611e2e565b90509250929050565b600060208284031215611f8057600080fd5b6118f882611e2e565b608081526000611f9c6080830187611def565b8281036020840152611fae8187611def565b90508281036040840152611fc28186611def565b91505082606083015295945050505050565b600080600060608486031215611fe957600080fd5b611ff284611e2e565b925061200060208501611e2e565b9150604084013590509250925092565b86815260208101869052604081018590526001600160a01b0384811660608301528316608082015260c060a0820181905260009061205090830184611def565b98975050505050505050565b60006020828403121561206e57600080fd5b813567ffffffffffffffff81111561208557600080fd5b61174484828501611f00565b600080604083850312156120a457600080fd5b6120ad83611e2e565b9150602083013580151581146120c257600080fd5b809150509250929050565b600080600080608085870312156120e357600080fd5b6120ec85611e2e565b93506120fa60208601611e2e565b925060408501359150606085013567ffffffffffffffff81111561211d57600080fd5b8501601f8101871361212e57600080fd5b61213d87823560208401611e8a565b91505092959194509250565b6000806040838503121561215c57600080fd5b61216583611e2e565b9150611f6560208401611e2e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c908216806121bc57607f821691505b602082108114156121dd57634e487b7160e01b600052602260045260246000fd5b50919050565b600082516121f5818460208701611dc3565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b60008219821115612228576122286121ff565b500190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b66697066733a2f2f60c81b8152600060076000845481600182811c9150808316806122aa57607f831692505b60208084108214156122ca57634e487b7160e01b86526022600452602486fd5b8180156122de57600181146122f357612324565b60ff1986168a890152848a0188019650612324565b60008b81526020902060005b8681101561231a5781548c82018b01529085019083016122ff565b505087858b010196505b50949998505050505050505050565b600082821015612345576123456121ff565b500390565b60008261236757634e487b7160e01b600052601260045260246000fd5b500490565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906123f190830184611def565b9695505050505050565b60006020828403121561240d57600080fd5b81516118f881611d7756fea26469706673582212203b6e820fccc6902168bfe190e918e29af7bb22049fd50fe432cd2c25ec08097164736f6c634300080b0033", - "deployedBytecode": "0x6080604052600436106101e35760003560e01c8063715018a611610102578063afb5d0d411610095578063e4faf68a11610064578063e4faf68a14610564578063e985e9c51461059c578063f2fde38b146105e5578063fab122911461060557600080fd5b8063afb5d0d4146104e4578063b88d4fde14610504578063c87b56dd14610524578063d1ac04931461054457600080fd5b806395d89b41116100d157806395d89b4114610484578063a0a8e46014610499578063a22cb465146104ae578063a8ad4198146104ce57600080fd5b8063715018a61461041b57806373ab097614610430578063849cac9a146104465780638da5cb5b1461046657600080fd5b80631e2f73b11161017a5780633ccfd60b116101495780633ccfd60b146103a657806342842e0e146103bb5780636352211e146103db57806370a08231146103fb57600080fd5b80631e2f73b11461032c57806323b872dd1461034157806325a80b3d146103615780632f0d275c1461037457600080fd5b8063095ea7b3116101b6578063095ea7b31461029957806318160ddd146102b95780631c351a9d146102dc5780631c8e8962146102fc57600080fd5b806301ffc9a7146101e857806303ae8eb21461021d57806306fdde031461023f578063081812fc14610261575b600080fd5b3480156101f457600080fd5b50610208610203366004611d8d565b610625565b60405190151581526020015b60405180910390f35b34801561022957600080fd5b5061023d610238366004611daa565b610677565b005b34801561024b57600080fd5b5061025461070b565b6040516102149190611e1b565b34801561026d57600080fd5b5061028161027c366004611daa565b61079d565b6040516001600160a01b039091168152602001610214565b3480156102a557600080fd5b5061023d6102b4366004611e4a565b610832565b3480156102c557600080fd5b506102ce610948565b604051908152602001610214565b3480156102e857600080fd5b5061023d6102f7366004611f20565b610958565b34801561030857600080fd5b5061031c610317366004611f6e565b610b77565b6040516102149493929190611f89565b34801561033857600080fd5b50610254610d37565b34801561034d57600080fd5b5061023d61035c366004611fd4565b610dc5565b61023d61036f366004611daa565b610df6565b34801561038057600080fd5b5061039461038f366004611daa565b61101b565b60405161021496959493929190612010565b3480156103b257600080fd5b5061023d6110e8565b3480156103c757600080fd5b5061023d6103d6366004611fd4565b611145565b3480156103e757600080fd5b506102816103f6366004611daa565b611160565b34801561040757600080fd5b506102ce610416366004611f6e565b6111d7565b34801561042757600080fd5b5061023d61125e565b34801561043c57600080fd5b506102ce600e5481565b34801561045257600080fd5b5061023d61046136600461205c565b611294565b34801561047257600080fd5b506007546001600160a01b0316610281565b34801561049057600080fd5b5061025461130b565b3480156104a557600080fd5b5061025461131a565b3480156104ba57600080fd5b5061023d6104c9366004612091565b611327565b3480156104da57600080fd5b506102ce600f5481565b3480156104f057600080fd5b5061023d6104ff36600461205c565b611332565b34801561051057600080fd5b5061023d61051f3660046120cd565b6113ad565b34801561053057600080fd5b5061025461053f366004611daa565b6113e5565b34801561055057600080fd5b5061023d61055f366004611daa565b611423565b34801561057057600080fd5b506102ce61057f36600461205c565b8051602081830181018051600b8252928201919093012091525481565b3480156105a857600080fd5b506102086105b7366004612149565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156105f157600080fd5b5061023d610600366004611f6e565b6114af565b34801561061157600080fd5b5061023d61062036600461205c565b61154a565b60006001600160e01b031982166380ac58cd60e01b148061065657506001600160e01b03198216635b5e139f60e01b145b8061067157506301ffc9a760e01b6001600160e01b03198316145b92915050565b6007546001600160a01b031633146106aa5760405162461bcd60e51b81526004016106a190612173565b60405180910390fd5b600a8111156107065760405162461bcd60e51b815260206004820152602260248201527f436f6e747261637420746970206375742063616e6e6f74206578636565642031604482015261302560f01b60648201526084016106a1565b600e55565b60606000805461071a906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610746906121a8565b80156107935780601f1061076857610100808354040283529160200191610793565b820191906000526020600020905b81548152906001019060200180831161077657829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166108165760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106a1565b506000908152600460205260409020546001600160a01b031690565b600061083d82611160565b9050806001600160a01b0316836001600160a01b031614156108ab5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016106a1565b336001600160a01b03821614806108c757506108c781336105b7565b6109395760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106a1565b61094383836115cd565b505050565b600061095360085490565b905090565b60008251116109b55760405162461bcd60e51b815260206004820152602360248201527f4d65746164617461204950465320686173682063616e6e6f7420626520656d706044820152623a3c9760e91b60648201526084016106a1565b600b826040516109c591906121e3565b908152602001604051809103902054600014610a405760405162461bcd60e51b815260206004820152603460248201527f54686174206d65746164617461204950465320686173682068617320616c726560448201527330b23c903132b2b7103932b332b932b731b2b21760611b60648201526084016106a1565b6000610a4a610948565b610a55906001612215565b9050610a61338261163b565b610a6f600880546001019055565b80600b84604051610a8091906121e3565b908152604080516020928190038301812093909355336000818152600a84528281206004908101805460018082018355918452868420018890556001600160a01b03898116808552868520600590810180548086018255908752898720018b905560c08a018852858a52888a018681528a890187815260608c0198895260808c0193845260a08c018f81528d895260098c52999097208b5181559051948101949094559451600284015594516003830180546001600160a01b031990811692841692909217905594519282018054909516921691909117909255915180519193610b6f93850192910190611cde565b505050505050565b600a60205260009081526040902080548190610b92906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbe906121a8565b8015610c0b5780601f10610be057610100808354040283529160200191610c0b565b820191906000526020600020905b815481529060010190602001808311610bee57829003601f168201915b505050505090806001018054610c20906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4c906121a8565b8015610c995780601f10610c6e57610100808354040283529160200191610c99565b820191906000526020600020905b815481529060010190602001808311610c7c57829003601f168201915b505050505090806002018054610cae906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610cda906121a8565b8015610d275780601f10610cfc57610100808354040283529160200191610d27565b820191906000526020600020905b815481529060010190602001808311610d0a57829003601f168201915b5050505050908060030154905084565b600c8054610d44906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610d70906121a8565b8015610dbd5780601f10610d9257610100808354040283529160200191610dbd565b820191906000526020600020905b815481529060010190602001808311610da057829003601f168201915b505050505081565b610dcf3382611655565b610deb5760405162461bcd60e51b81526004016106a19061222d565b61094383838361174c565b610dfe610948565b811115610e4d5760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420746970206e6f6e2d6578697374656e7420746f6b656e2e000060448201526064016106a1565b600e54606490600090610e6c90610e659084906118ec565b34906118ec565b90506000610e88610e65600f54856118ec90919063ffffffff16565b90506000610ea0610e9984846118ff565b349061190b565b60008681526009602090815260408083206004810154600391820154338652600a90945291909320909201549293506001600160a01b03918216929116903090610eea90346118ff565b336000908152600a60209081526040808320600301939093558a8252600990522060010154610f1990856118ff565b6000898152600960205260409020600181019190915554610f3a90866118ff565b600089815260096020526040902090815560020154610f5990876118ff565b6000898152600960205260408082206002019290925590516001600160a01b0385169186156108fc02918791818181858888f19350505050158015610fa2573d6000803e3d6000fd5b506040516001600160a01b0383169086156108fc029087906000818181858888f19350505050158015610fd9573d6000803e3d6000fd5b506040516001600160a01b0382169087156108fc029088906000818181858888f19350505050158015611010573d6000803e3d6000fd5b505050505050505050565b6009602052600090815260409020805460018201546002830154600384015460048501546005860180549596949593946001600160a01b03938416949390921692611065906121a8565b80601f0160208091040260200160405190810160405280929190818152602001828054611091906121a8565b80156110de5780601f106110b3576101008083540402835291602001916110de565b820191906000526020600020905b8154815290600101906020018083116110c157829003601f168201915b5050505050905086565b6007546001600160a01b031633146111125760405162461bcd60e51b81526004016106a190612173565b6040514790339082156108fc029083906000818181858888f19350505050158015611141573d6000803e3d6000fd5b5050565b610943838383604051806020016040528060008152506113ad565b6000818152600260205260408120546001600160a01b0316806106715760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016106a1565b60006001600160a01b0382166112425760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016106a1565b506001600160a01b031660009081526003602052604090205490565b6007546001600160a01b031633146112885760405162461bcd60e51b81526004016106a190612173565b6112926000611917565b565b60008151116112e55760405162461bcd60e51b815260206004820152601860248201527f48616e646c65206d7573742062652070726f76696465642e000000000000000060448201526064016106a1565b336000908152600a60209081526040909120825161114192600190920191840190611cde565b60606001805461071a906121a8565b600d8054610d44906121a8565b611141338383611969565b600081511161138d5760405162461bcd60e51b815260206004820152602160248201527f576f776e65726f2061646472657373206d7573742062652070726f76696465646044820152601760f91b60648201526084016106a1565b336000908152600a60209081526040909120825161114192840190611cde565b6113b73383611655565b6113d35760405162461bcd60e51b81526004016106a19061222d565b6113df84848484611a38565b50505050565b60606009600083815260200190815260200160002060050160405160200161140d919061227e565b6040516020818303038152906040529050919050565b6007546001600160a01b0316331461144d5760405162461bcd60e51b81526004016106a190612173565b600a8111156114aa5760405162461bcd60e51b815260206004820152602360248201527f5075626c697368657220746970206375742063616e6e6f74206578636565642060448201526231302560e81b60648201526084016106a1565b600f55565b6007546001600160a01b031633146114d95760405162461bcd60e51b81526004016106a190612173565b6001600160a01b03811661153e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a1565b61154781611917565b50565b60008151116115a75760405162461bcd60e51b8152602060048201526024808201527f4d6574616461746120495046532068617368206d7573742062652070726f76696044820152633232b21760e11b60648201526084016106a1565b336000908152600a60209081526040909120825161114192600290920191840190611cde565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061160282611160565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b611141828260405180602001604052806000815250611a6b565b6000818152600260205260408120546001600160a01b03166116ce5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106a1565b60006116d983611160565b9050806001600160a01b0316846001600160a01b031614806117145750836001600160a01b03166117098461079d565b6001600160a01b0316145b8061174457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b031661175f82611160565b6001600160a01b0316146117c75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016106a1565b6001600160a01b0382166118295760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106a1565b6118346000826115cd565b6001600160a01b038316600090815260036020526040812080546001929061185d908490612333565b90915550506001600160a01b038216600090815260036020526040812080546001929061188b908490612215565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006118f8828461234a565b9392505050565b60006118f88284612215565b60006118f88284612333565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031614156119cb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106a1565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611a4384848461174c565b611a4f84848484611a9e565b6113df5760405162461bcd60e51b81526004016106a19061236c565b611a758383611b9c565b611a826000848484611a9e565b6109435760405162461bcd60e51b81526004016106a19061236c565b60006001600160a01b0384163b15611b9157604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611ae29033908990889088906004016123be565b6020604051808303816000875af1925050508015611b1d575060408051601f3d908101601f19168201909252611b1a918101906123fb565b60015b611b77573d808015611b4b576040519150601f19603f3d011682016040523d82523d6000602084013e611b50565b606091505b508051611b6f5760405162461bcd60e51b81526004016106a19061236c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611744565b506001949350505050565b6001600160a01b038216611bf25760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106a1565b6000818152600260205260409020546001600160a01b031615611c575760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016106a1565b6001600160a01b0382166000908152600360205260408120805460019290611c80908490612215565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054611cea906121a8565b90600052602060002090601f016020900481019282611d0c5760008555611d52565b82601f10611d2557805160ff1916838001178555611d52565b82800160010185558215611d52579182015b82811115611d52578251825591602001919060010190611d37565b50611d5e929150611d62565b5090565b5b80821115611d5e5760008155600101611d63565b6001600160e01b03198116811461154757600080fd5b600060208284031215611d9f57600080fd5b81356118f881611d77565b600060208284031215611dbc57600080fd5b5035919050565b60005b83811015611dde578181015183820152602001611dc6565b838111156113df5750506000910152565b60008151808452611e07816020860160208601611dc3565b601f01601f19169290920160200192915050565b6020815260006118f86020830184611def565b80356001600160a01b0381168114611e4557600080fd5b919050565b60008060408385031215611e5d57600080fd5b611e6683611e2e565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611ea557611ea5611e74565b604051601f8501601f19908116603f01168101908282118183101715611ecd57611ecd611e74565b81604052809350858152868686011115611ee657600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112611f1157600080fd5b6118f883833560208501611e8a565b60008060408385031215611f3357600080fd5b823567ffffffffffffffff811115611f4a57600080fd5b611f5685828601611f00565b925050611f6560208401611e2e565b90509250929050565b600060208284031215611f8057600080fd5b6118f882611e2e565b608081526000611f9c6080830187611def565b8281036020840152611fae8187611def565b90508281036040840152611fc28186611def565b91505082606083015295945050505050565b600080600060608486031215611fe957600080fd5b611ff284611e2e565b925061200060208501611e2e565b9150604084013590509250925092565b86815260208101869052604081018590526001600160a01b0384811660608301528316608082015260c060a0820181905260009061205090830184611def565b98975050505050505050565b60006020828403121561206e57600080fd5b813567ffffffffffffffff81111561208557600080fd5b61174484828501611f00565b600080604083850312156120a457600080fd5b6120ad83611e2e565b9150602083013580151581146120c257600080fd5b809150509250929050565b600080600080608085870312156120e357600080fd5b6120ec85611e2e565b93506120fa60208601611e2e565b925060408501359150606085013567ffffffffffffffff81111561211d57600080fd5b8501601f8101871361212e57600080fd5b61213d87823560208401611e8a565b91505092959194509250565b6000806040838503121561215c57600080fd5b61216583611e2e565b9150611f6560208401611e2e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c908216806121bc57607f821691505b602082108114156121dd57634e487b7160e01b600052602260045260246000fd5b50919050565b600082516121f5818460208701611dc3565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b60008219821115612228576122286121ff565b500190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b66697066733a2f2f60c81b8152600060076000845481600182811c9150808316806122aa57607f831692505b60208084108214156122ca57634e487b7160e01b86526022600452602486fd5b8180156122de57600181146122f357612324565b60ff1986168a890152848a0188019650612324565b60008b81526020902060005b8681101561231a5781548c82018b01529085019083016122ff565b505087858b010196505b50949998505050505050505050565b600082821015612345576123456121ff565b500390565b60008261236757634e487b7160e01b600052601260045260246000fd5b500490565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906123f190830184611def565b9695505050505050565b60006020828403121561240d57600080fd5b81516118f881611d7756fea26469706673582212203b6e820fccc6902168bfe190e918e29af7bb22049fd50fe432cd2c25ec08097164736f6c634300080b0033", - "immutableReferences": {}, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:396:14", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:14", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "69:325:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "79:22:14", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "93:1:14", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "96:4:14" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "89:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "89:12:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "79:6:14" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "110:38:14", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "140:4:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "146:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "136:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "136:12:14" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "114:18:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "187:31:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "189:27:14", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "203:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "211:4:14", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "199:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "199:17:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "189:6:14" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "167:18:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "160:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "160:26:14" - }, - "nodeType": "YulIf", - "src": "157:61:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "277:111:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "298:1:14", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "305:3:14", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "310:10:14", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "301:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "301:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "291:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "291:31:14" - }, - "nodeType": "YulExpressionStatement", - "src": "291:31:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "342:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "345:4:14", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "335:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "335:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "335:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "370:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "373:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "363:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "363:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "363:15:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "233:18:14" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "256:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "264:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "253:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "253:14:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "230:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "230:38:14" - }, - "nodeType": "YulIf", - "src": "227:161:14" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "49:4:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "58:6:14", - "type": "" - } - ], - "src": "14:380:14" - } - ] - }, - "contents": "{\n { }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n}", - "id": 14, - "language": "Yul", - "name": "#utility.yul" - } - ], - "deployedGeneratedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:19719:14", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:14", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "58:87:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "123:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "132:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "135:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "125:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "125:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "125:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "81:5:14" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "92:5:14" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:3:14", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "108:10:14", - "type": "", - "value": "0xffffffff" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "99:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "99:20:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "88:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "88:32:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "78:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "78:43:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "71:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "71:51:14" - }, - "nodeType": "YulIf", - "src": "68:71:14" - } - ] - }, - "name": "validator_revert_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "47:5:14", - "type": "" - } - ], - "src": "14:131:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "219:176:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "265:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "274:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "277:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "267:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "267:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "267:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "240:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "249:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "236:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "236:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "261:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "232:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "232:32:14" - }, - "nodeType": "YulIf", - "src": "229:52:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "290:36:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "316:9:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "303:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "303:23:14" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "294:5:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "359:5:14" - } - ], - "functionName": { - "name": "validator_revert_bytes4", - "nodeType": "YulIdentifier", - "src": "335:23:14" - }, - "nodeType": "YulFunctionCall", - "src": "335:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "335:30:14" - }, - { - "nodeType": "YulAssignment", - "src": "374:15:14", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "384:5:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "374:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "185:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "196:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "208:6:14", - "type": "" - } - ], - "src": "150:245:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "495:92:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "505:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "517:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "528:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "513:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "513:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "505:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "547:9:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "572:6:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "565:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "565:14:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "558:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "558:22:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "540:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "540:41:14" - }, - "nodeType": "YulExpressionStatement", - "src": "540:41:14" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "464:9:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "475:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "486:4:14", - "type": "" - } - ], - "src": "400:187:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "662:110:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "708:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "717:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "720:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "710:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "710:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "710:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "683:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "692:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "679:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "679:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "704:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "675:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "675:32:14" - }, - "nodeType": "YulIf", - "src": "672:52:14" - }, - { - "nodeType": "YulAssignment", - "src": "733:33:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "756:9:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "743:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "743:23:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "733:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "628:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "639:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "651:6:14", - "type": "" - } - ], - "src": "592:180:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "830:205:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "840:10:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "849:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "844:1:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "909:63:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "934:3:14" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "939:1:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "930:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "930:11:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "953:3:14" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "958:1:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "949:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "949:11:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "943:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "943:18:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "923:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "923:39:14" - }, - "nodeType": "YulExpressionStatement", - "src": "923:39:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "870:1:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "873:6:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "867:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "867:13:14" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "881:19:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "883:15:14", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "892:1:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "895:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "888:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "888:10:14" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "883:1:14" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "863:3:14", - "statements": [] - }, - "src": "859:113:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "998:31:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1011:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1016:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1007:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1007:16:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1025:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1000:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1000:27:14" - }, - "nodeType": "YulExpressionStatement", - "src": "1000:27:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "987:1:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "990:6:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "984:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "984:13:14" - }, - "nodeType": "YulIf", - "src": "981:48:14" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "808:3:14", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "813:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "818:6:14", - "type": "" - } - ], - "src": "777:258:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1090:208:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1100:26:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1120:5:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1114:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "1114:12:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1104:6:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1142:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1147:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1135:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1135:19:14" - }, - "nodeType": "YulExpressionStatement", - "src": "1135:19:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1189:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1196:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1185:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1185:16:14" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1207:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1212:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1203:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1203:14:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1219:6:14" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "1163:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "1163:63:14" - }, - "nodeType": "YulExpressionStatement", - "src": "1163:63:14" - }, - { - "nodeType": "YulAssignment", - "src": "1235:57:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1250:3:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1263:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1271:2:14", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1259:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1259:15:14" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1280:2:14", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1276:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1276:7:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1255:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1255:29:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1246:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1246:39:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1287:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1242:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1242:50:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1235:3:14" - } - ] - } - ] - }, - "name": "abi_encode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1067:5:14", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1074:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1082:3:14", - "type": "" - } - ], - "src": "1040:258:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1424:99:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1441:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1452:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1434:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1434:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "1434:21:14" - }, - { - "nodeType": "YulAssignment", - "src": "1464:53:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1490:6:14" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1502:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1513:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1498:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1498:18:14" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "1472:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "1472:45:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1464:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1393:9:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1404:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1415:4:14", - "type": "" - } - ], - "src": "1303:220:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1629:102:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1639:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1651:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1662:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1647:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1647:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1639:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1681:9:14" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1696:6:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1712:3:14", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1717:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1708:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1708:11:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1721:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1704:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1704:19:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1692:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1692:32:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1674:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1674:51:14" - }, - "nodeType": "YulExpressionStatement", - "src": "1674:51:14" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1598:9:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1609:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1620:4:14", - "type": "" - } - ], - "src": "1528:203:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1785:124:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1795:29:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1817:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1804:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "1804:20:14" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1795:5:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1887:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1896:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1899:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1889:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1889:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "1889:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1846:5:14" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1857:5:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1872:3:14", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1877:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1868:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1868:11:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1881:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1864:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1864:19:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1853:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1853:31:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1843:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "1843:42:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1836:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1836:50:14" - }, - "nodeType": "YulIf", - "src": "1833:70:14" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1764:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1775:5:14", - "type": "" - } - ], - "src": "1736:173:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2001:167:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2047:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2056:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2059:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2049:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2049:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2049:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2022:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2031:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2018:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2018:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2043:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2014:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2014:32:14" - }, - "nodeType": "YulIf", - "src": "2011:52:14" - }, - { - "nodeType": "YulAssignment", - "src": "2072:39:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2101:9:14" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2082:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "2082:29:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2072:6:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2120:42:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2147:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2158:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2143:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2143:18:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2130:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "2130:32:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2120:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1959:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1970:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1982:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1990:6:14", - "type": "" - } - ], - "src": "1914:254:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2274:76:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2284:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2296:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2307:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2292:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2292:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2284:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2326:9:14" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2337:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2319:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2319:25:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2319:25:14" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2243:9:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2254:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2265:4:14", - "type": "" - } - ], - "src": "2173:177:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2387:95:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2404:1:14", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2411:3:14", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2416:10:14", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2407:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2407:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2397:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2397:31:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2397:31:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2444:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2447:4:14", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2437:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2437:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2437:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2468:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2471:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2461:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2461:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2461:15:14" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "2355:127:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2562:557:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2572:28:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2582:18:14", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "2576:2:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2627:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "2629:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "2629:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2629:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2615:6:14" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2623:2:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2612:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "2612:14:14" - }, - "nodeType": "YulIf", - "src": "2609:40:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2658:17:14", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2672:2:14", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2668:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2668:7:14" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "2662:2:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2684:23:14", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2704:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2698:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "2698:9:14" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "2688:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2716:73:14", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "2738:6:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2762:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2770:2:14", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2758:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2758:15:14" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2775:2:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2754:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2754:24:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2780:2:14", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2750:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2750:33:14" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2785:2:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2746:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2746:42:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2734:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2734:55:14" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "2720:10:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2848:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "2850:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "2850:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2850:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "2807:10:14" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2819:2:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2804:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "2804:18:14" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "2827:10:14" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "2839:6:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2824:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "2824:22:14" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "2801:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "2801:46:14" - }, - "nodeType": "YulIf", - "src": "2798:72:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2886:2:14", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "2890:10:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2879:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2879:22:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2879:22:14" - }, - { - "nodeType": "YulAssignment", - "src": "2910:15:14", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "2919:6:14" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2910:5:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "2941:6:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2949:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2934:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2934:22:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2934:22:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2994:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3003:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3006:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2996:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2996:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2996:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2975:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2980:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2971:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2971:16:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2989:3:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2968:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "2968:25:14" - }, - "nodeType": "YulIf", - "src": "2965:45:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3036:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3044:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3032:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3032:17:14" - }, - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3051:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3056:6:14" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "3019:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "3019:44:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3019:44:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3087:6:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3095:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3083:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3083:19:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3104:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3079:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3079:30:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3111:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3072:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "3072:41:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3072:41:14" - } - ] - }, - "name": "abi_decode_available_length_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "2531:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2536:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2544:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "2552:5:14", - "type": "" - } - ], - "src": "2487:632:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3177:169:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3226:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3235:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3238:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3228:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "3228:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3228:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3205:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3213:4:14", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3201:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3201:17:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3220:3:14" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3197:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3197:27:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3190:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "3190:35:14" - }, - "nodeType": "YulIf", - "src": "3187:55:14" - }, - { - "nodeType": "YulAssignment", - "src": "3251:89:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3299:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3307:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3295:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3295:17:14" - }, - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3327:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3314:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "3314:20:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3336:3:14" - } - ], - "functionName": { - "name": "abi_decode_available_length_string", - "nodeType": "YulIdentifier", - "src": "3260:34:14" - }, - "nodeType": "YulFunctionCall", - "src": "3260:80:14" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "3251:5:14" - } - ] - } - ] - }, - "name": "abi_decode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3151:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3159:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "3167:5:14", - "type": "" - } - ], - "src": "3124:222:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3448:299:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3494:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3503:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3506:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3496:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "3496:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3496:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3469:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3478:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3465:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3465:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3490:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3461:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3461:32:14" - }, - "nodeType": "YulIf", - "src": "3458:52:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3519:37:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3546:9:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3533:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "3533:23:14" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3523:6:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3599:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3608:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3611:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3601:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "3601:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3601:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3571:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3579:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3568:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "3568:30:14" - }, - "nodeType": "YulIf", - "src": "3565:50:14" - }, - { - "nodeType": "YulAssignment", - "src": "3624:60:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3656:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3667:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3652:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3652:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3676:7:14" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "3634:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "3634:50:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3624:6:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3693:48:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3726:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3737:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3722:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3722:18:14" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3703:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "3703:38:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3693:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3406:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3417:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3429:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3437:6:14", - "type": "" - } - ], - "src": "3351:396:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3822:116:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3868:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3877:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3880:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3870:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "3870:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3870:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3843:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3852:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3839:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3839:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3864:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3835:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3835:32:14" - }, - "nodeType": "YulIf", - "src": "3832:52:14" - }, - { - "nodeType": "YulAssignment", - "src": "3893:39:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3922:9:14" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3903:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "3903:29:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3893:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3788:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3799:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3811:6:14", - "type": "" - } - ], - "src": "3752:186:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4188:374:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4205:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4216:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4198:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "4198:22:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4198:22:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4229:60:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4261:6:14" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4273:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4284:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4269:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4269:19:14" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "4243:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "4243:46:14" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "4233:6:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4309:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4320:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4305:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4305:18:14" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "4329:6:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4337:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4325:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4325:22:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4298:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "4298:50:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4298:50:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4357:47:14", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4389:6:14" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "4397:6:14" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "4371:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "4371:33:14" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "4361:6:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4424:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4435:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4420:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4420:18:14" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "4444:6:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4452:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4440:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4440:22:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4413:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "4413:50:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4413:50:14" - }, - { - "nodeType": "YulAssignment", - "src": "4472:41:14", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "4498:6:14" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "4506:6:14" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "4480:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "4480:33:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4472:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4533:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4544:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4529:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4529:18:14" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4549:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4522:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "4522:34:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4522:34:14" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4133:9:14", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "4144:6:14", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4152:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4160:6:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4168:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4179:4:14", - "type": "" - } - ], - "src": "3943:619:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4671:224:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4717:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4726:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4729:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4719:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "4719:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4719:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4692:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4701:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4688:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4688:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4713:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4684:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4684:32:14" - }, - "nodeType": "YulIf", - "src": "4681:52:14" - }, - { - "nodeType": "YulAssignment", - "src": "4742:39:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4771:9:14" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "4752:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "4752:29:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4742:6:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4790:48:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4823:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4834:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4819:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4819:18:14" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "4800:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "4800:38:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4790:6:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4847:42:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4874:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4885:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4870:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4870:18:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4857:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "4857:32:14" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "4847:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4621:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4632:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4644:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4652:6:14", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4660:6:14", - "type": "" - } - ], - "src": "4567:328:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5161:374:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5178:9:14" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5189:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5171:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5171:25:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5171:25:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5216:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5227:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5212:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5212:18:14" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5232:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5205:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5205:34:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5205:34:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5259:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5270:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5255:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5255:18:14" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5275:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5248:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5248:34:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5248:34:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5291:29:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5309:3:14", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5314:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "5305:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5305:11:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5318:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5301:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5301:19:14" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "5295:2:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5340:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5351:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5336:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5336:18:14" - }, - { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "5360:6:14" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5368:2:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5356:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5356:15:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5329:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5329:43:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5329:43:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5392:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5403:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5388:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5388:19:14" - }, - { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5413:6:14" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5421:2:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5409:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5409:15:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5381:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5381:44:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5381:44:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5445:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5456:3:14", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5441:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5441:19:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5462:3:14", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5434:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5434:32:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5434:32:14" - }, - { - "nodeType": "YulAssignment", - "src": "5475:54:14", - "value": { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "5501:6:14" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5513:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5524:3:14", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5509:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5509:19:14" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "5483:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "5483:46:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5475:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_address_t_address_t_string_memory_ptr__to_t_uint256_t_uint256_t_uint256_t_address_t_address_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5090:9:14", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "5101:6:14", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "5109:6:14", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "5117:6:14", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "5125:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5133:6:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5141:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5152:4:14", - "type": "" - } - ], - "src": "4900:635:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5620:242:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5666:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5675:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5678:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5668:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5668:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5668:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5641:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5650:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5637:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5637:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5662:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5633:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5633:32:14" - }, - "nodeType": "YulIf", - "src": "5630:52:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5691:37:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5718:9:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5705:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "5705:23:14" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5695:6:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5771:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5780:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5783:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5773:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5773:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5773:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5743:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5751:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5740:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "5740:30:14" - }, - "nodeType": "YulIf", - "src": "5737:50:14" - }, - { - "nodeType": "YulAssignment", - "src": "5796:60:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5828:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5839:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5824:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5824:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5848:7:14" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "5806:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "5806:50:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5796:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5586:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5597:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5609:6:14", - "type": "" - } - ], - "src": "5540:322:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5951:263:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5997:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6006:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6009:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5999:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5999:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5999:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5972:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5981:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5968:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5968:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5993:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5964:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5964:32:14" - }, - "nodeType": "YulIf", - "src": "5961:52:14" - }, - { - "nodeType": "YulAssignment", - "src": "6022:39:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6051:9:14" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "6032:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "6032:29:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6022:6:14" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6070:45:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6100:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6111:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6096:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6096:18:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6083:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "6083:32:14" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6074:5:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6168:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6177:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6180:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6170:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "6170:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "6170:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6137:5:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6158:5:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6151:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "6151:13:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6144:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "6144:21:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "6134:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "6134:32:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6127:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "6127:40:14" - }, - "nodeType": "YulIf", - "src": "6124:60:14" - }, - { - "nodeType": "YulAssignment", - "src": "6193:15:14", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6203:5:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6193:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5909:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5920:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5932:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5940:6:14", - "type": "" - } - ], - "src": "5867:347:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6349:537:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6396:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6405:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6408:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6398:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "6398:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "6398:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6370:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6379:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6366:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6366:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6391:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6362:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6362:33:14" - }, - "nodeType": "YulIf", - "src": "6359:53:14" - }, - { - "nodeType": "YulAssignment", - "src": "6421:39:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6450:9:14" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "6431:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "6431:29:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6421:6:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6469:48:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6502:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6513:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6498:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6498:18:14" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "6479:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "6479:38:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6469:6:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6526:42:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6553:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6564:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6549:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6549:18:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6536:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "6536:32:14" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6526:6:14" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6577:46:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6608:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6619:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6604:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6604:18:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6591:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "6591:32:14" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6581:6:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6666:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6675:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6678:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6668:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "6668:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "6668:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6638:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6646:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6635:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "6635:30:14" - }, - "nodeType": "YulIf", - "src": "6632:50:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6691:32:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6705:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6716:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6701:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6701:22:14" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "6695:2:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6771:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6780:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6783:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6773:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "6773:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "6773:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6750:2:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6754:4:14", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6746:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6746:13:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6761:7:14" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6742:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6742:27:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6735:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "6735:35:14" - }, - "nodeType": "YulIf", - "src": "6732:55:14" - }, - { - "nodeType": "YulAssignment", - "src": "6796:84:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6845:2:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6849:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6841:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6841:11:14" - }, - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6867:2:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6854:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "6854:16:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6872:7:14" - } - ], - "functionName": { - "name": "abi_decode_available_length_string", - "nodeType": "YulIdentifier", - "src": "6806:34:14" - }, - "nodeType": "YulFunctionCall", - "src": "6806:74:14" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "6796:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6291:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6302:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6314:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6322:6:14", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6330:6:14", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "6338:6:14", - "type": "" - } - ], - "src": "6219:667:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6978:173:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7024:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7033:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7036:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7026:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7026:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7026:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6999:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7008:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6995:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6995:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7020:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6991:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6991:32:14" - }, - "nodeType": "YulIf", - "src": "6988:52:14" - }, - { - "nodeType": "YulAssignment", - "src": "7049:39:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7078:9:14" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "7059:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "7059:29:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7049:6:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7097:48:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7130:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7141:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7126:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "7126:18:14" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "7107:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "7107:38:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7097:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6936:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6947:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6959:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6967:6:14", - "type": "" - } - ], - "src": "6891:260:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7330:182:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7347:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7358:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7340:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7340:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7340:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7381:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7392:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7377:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "7377:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7397:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7370:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7370:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7370:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7420:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7431:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7416:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "7416:18:14" - }, - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7436:34:14", - "type": "", - "value": "Ownable: caller is not the owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7409:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7409:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7409:62:14" - }, - { - "nodeType": "YulAssignment", - "src": "7480:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7492:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7503:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7488:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "7488:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7480:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7307:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7321:4:14", - "type": "" - } - ], - "src": "7156:356:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7691:224:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7708:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7719:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7701:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7701:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7701:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7742:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7753:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7738:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "7738:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7758:2:14", - "type": "", - "value": "34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7731:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7731:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7731:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7781:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7792:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7777:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "7777:18:14" - }, - { - "hexValue": "436f6e747261637420746970206375742063616e6e6f74206578636565642031", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7797:34:14", - "type": "", - "value": "Contract tip cut cannot exceed 1" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7770:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7770:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7770:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7852:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7863:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7848:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "7848:18:14" - }, - { - "hexValue": "3025", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7868:4:14", - "type": "", - "value": "0%" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7841:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7841:32:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7841:32:14" - }, - { - "nodeType": "YulAssignment", - "src": "7882:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7894:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7905:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7890:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "7890:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7882:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_51781659b9b87b31473084a763a26c97daeb0b563be37c53793253dbc1748c92__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7668:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7682:4:14", - "type": "" - } - ], - "src": "7517:398:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7975:325:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7985:22:14", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7999:1:14", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "8002:4:14" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "7995:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "7995:12:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7985:6:14" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8016:38:14", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "8046:4:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8052:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8042:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8042:12:14" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "8020:18:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8093:31:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8095:27:14", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8109:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8117:4:14", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8105:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8105:17:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8095:6:14" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "8073:18:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8066:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8066:26:14" - }, - "nodeType": "YulIf", - "src": "8063:61:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8183:111:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8204:1:14", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8211:3:14", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8216:10:14", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "8207:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8207:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8197:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8197:31:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8197:31:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8248:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8251:4:14", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8241:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8241:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8241:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8276:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8279:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8269:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8269:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8269:15:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "8139:18:14" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8162:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8170:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "8159:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "8159:14:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "8136:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "8136:38:14" - }, - "nodeType": "YulIf", - "src": "8133:161:14" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "7955:4:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7964:6:14", - "type": "" - } - ], - "src": "7920:380:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8479:234:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8496:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8507:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8489:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8489:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8489:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8530:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8541:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8526:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8526:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8546:2:14", - "type": "", - "value": "44" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8519:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8519:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8519:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8569:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8580:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8565:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8565:18:14" - }, - { - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8585:34:14", - "type": "", - "value": "ERC721: approved query for nonex" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8558:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8558:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8558:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8640:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8651:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8636:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8636:18:14" - }, - { - "hexValue": "697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8656:14:14", - "type": "", - "value": "istent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8629:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8629:42:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8629:42:14" - }, - { - "nodeType": "YulAssignment", - "src": "8680:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8692:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8703:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8688:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8688:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8680:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8456:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8470:4:14", - "type": "" - } - ], - "src": "8305:408:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8892:223:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8909:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8920:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8902:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8902:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8902:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8943:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8954:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8939:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8939:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8959:2:14", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8932:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8932:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8932:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8982:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8993:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8978:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8978:18:14" - }, - { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8998:34:14", - "type": "", - "value": "ERC721: approval to current owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8971:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8971:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8971:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9053:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9064:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9049:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9049:18:14" - }, - { - "hexValue": "72", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9069:3:14", - "type": "", - "value": "r" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9042:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "9042:31:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9042:31:14" - }, - { - "nodeType": "YulAssignment", - "src": "9082:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9094:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9105:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9090:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9090:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9082:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8869:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8883:4:14", - "type": "" - } - ], - "src": "8718:397:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9294:246:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9311:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9322:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9304:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "9304:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9304:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9345:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9356:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9341:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9341:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9361:2:14", - "type": "", - "value": "56" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9334:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "9334:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9334:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9384:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9395:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9380:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9380:18:14" - }, - { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f77", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9400:34:14", - "type": "", - "value": "ERC721: approve caller is not ow" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9373:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "9373:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9373:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9455:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9466:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9451:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9451:18:14" - }, - { - "hexValue": "6e6572206e6f7220617070726f76656420666f7220616c6c", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9471:26:14", - "type": "", - "value": "ner nor approved for all" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9444:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "9444:54:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9444:54:14" - }, - { - "nodeType": "YulAssignment", - "src": "9507:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9519:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9530:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9515:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9515:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9507:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9271:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9285:4:14", - "type": "" - } - ], - "src": "9120:420:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9719:225:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9736:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9747:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9729:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "9729:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9729:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9770:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9781:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9766:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9766:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9786:2:14", - "type": "", - "value": "35" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9759:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "9759:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9759:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9809:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9820:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9805:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9805:18:14" - }, - { - "hexValue": "4d65746164617461204950465320686173682063616e6e6f7420626520656d70", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9825:34:14", - "type": "", - "value": "Metadata IPFS hash cannot be emp" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9798:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "9798:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9798:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9880:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9891:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9876:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9876:18:14" - }, - { - "hexValue": "74792e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9896:5:14", - "type": "", - "value": "ty." - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9869:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "9869:33:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9869:33:14" - }, - { - "nodeType": "YulAssignment", - "src": "9911:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9923:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9934:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9919:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9919:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9911:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ff8cb15b09afd61e4d6715a8197b8bbc3c85f956b419f000f4d0b394da5d25f2__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9696:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9710:4:14", - "type": "" - } - ], - "src": "9545:399:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10088:137:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10098:27:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10118:6:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "10112:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "10112:13:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10102:6:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10160:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10168:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10156:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10156:17:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10175:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10180:6:14" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "10134:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "10134:53:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10134:53:14" - }, - { - "nodeType": "YulAssignment", - "src": "10196:23:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10207:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10212:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10203:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10203:16:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "10196:3:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "10064:3:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10069:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "10080:3:14", - "type": "" - } - ], - "src": "9949:276:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10404:242:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10421:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10432:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10414:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10414:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10414:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10455:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10466:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10451:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10451:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10471:2:14", - "type": "", - "value": "52" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10444:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10444:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10444:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10494:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10505:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10490:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10490:18:14" - }, - { - "hexValue": "54686174206d65746164617461204950465320686173682068617320616c7265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "10510:34:14", - "type": "", - "value": "That metadata IPFS hash has alre" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10483:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10483:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10483:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10565:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10576:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10561:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10561:18:14" - }, - { - "hexValue": "616479206265656e207265666572656e6365642e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "10581:22:14", - "type": "", - "value": "ady been referenced." - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10554:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10554:50:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10554:50:14" - }, - { - "nodeType": "YulAssignment", - "src": "10613:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10625:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10636:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10621:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10621:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10613:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4233d5d63bdd09b4bd1359ce07db729b14fafbc4753fff49e6f84cc9741224d0__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10381:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10395:4:14", - "type": "" - } - ], - "src": "10230:416:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10683:95:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10700:1:14", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10707:3:14", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10712:10:14", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "10703:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10703:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10693:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10693:31:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10693:31:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10740:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10743:4:14", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10733:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10733:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10733:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10764:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10767:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10757:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10757:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10757:15:14" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "10651:127:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10831:80:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10858:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "10860:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "10860:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10860:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10847:1:14" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10854:1:14" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "10850:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10850:6:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10844:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10844:13:14" - }, - "nodeType": "YulIf", - "src": "10841:39:14" - }, - { - "nodeType": "YulAssignment", - "src": "10889:16:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "10900:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "10903:1:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10896:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10896:9:14" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "10889:3:14" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "10814:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "10817:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "10823:3:14", - "type": "" - } - ], - "src": "10783:128:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11090:239:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11107:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11118:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11100:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11100:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11100:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11141:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11152:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11137:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11137:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11157:2:14", - "type": "", - "value": "49" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11130:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11130:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11130:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11180:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11191:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11176:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11176:18:14" - }, - { - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11196:34:14", - "type": "", - "value": "ERC721: transfer caller is not o" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11169:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11169:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11169:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11251:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11262:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11247:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11247:18:14" - }, - { - "hexValue": "776e6572206e6f7220617070726f766564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11267:19:14", - "type": "", - "value": "wner nor approved" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11240:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11240:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11240:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "11296:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11308:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11319:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11304:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11304:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11296:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11067:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11081:4:14", - "type": "" - } - ], - "src": "10916:413:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11508:180:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11525:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11536:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11518:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11518:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11518:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11559:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11570:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11555:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11555:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11575:2:14", - "type": "", - "value": "30" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11548:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11548:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11548:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11598:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11609:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11594:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11594:18:14" - }, - { - "hexValue": "43616e6e6f7420746970206e6f6e2d6578697374656e7420746f6b656e2e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11614:32:14", - "type": "", - "value": "Cannot tip non-existent token." - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11587:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11587:60:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11587:60:14" - }, - { - "nodeType": "YulAssignment", - "src": "11656:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11668:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11679:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11664:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11664:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11656:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_ac81a2d3b21557bc2abd29901590718faad8da05d30612a4fed35f4bc846acd5__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11485:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11499:4:14", - "type": "" - } - ], - "src": "11334:354:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11867:231:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11884:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11895:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11877:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11877:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11877:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11918:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11929:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11914:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11914:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11934:2:14", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11907:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11907:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11907:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11957:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11968:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11953:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11953:18:14" - }, - { - "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11973:34:14", - "type": "", - "value": "ERC721: owner query for nonexist" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11946:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11946:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11946:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12028:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12039:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12024:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12024:18:14" - }, - { - "hexValue": "656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "12044:11:14", - "type": "", - "value": "ent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12017:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12017:39:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12017:39:14" - }, - { - "nodeType": "YulAssignment", - "src": "12065:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12077:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12088:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12073:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12073:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12065:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11844:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11858:4:14", - "type": "" - } - ], - "src": "11693:405:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12277:232:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12294:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12305:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12287:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12287:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12287:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12328:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12339:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12324:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12324:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12344:2:14", - "type": "", - "value": "42" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12317:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12317:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12317:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12367:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12378:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12363:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12363:18:14" - }, - { - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "12383:34:14", - "type": "", - "value": "ERC721: balance query for the ze" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12356:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12356:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12356:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12438:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12449:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12434:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12434:18:14" - }, - { - "hexValue": "726f2061646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "12454:12:14", - "type": "", - "value": "ro address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12427:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12427:40:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12427:40:14" - }, - { - "nodeType": "YulAssignment", - "src": "12476:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12488:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12499:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12484:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12484:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12476:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12254:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12268:4:14", - "type": "" - } - ], - "src": "12103:406:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12688:174:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12705:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12716:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12698:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12698:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12698:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12739:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12750:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12735:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12735:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12755:2:14", - "type": "", - "value": "24" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12728:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12728:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12728:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12778:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12789:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12774:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12774:18:14" - }, - { - "hexValue": "48616e646c65206d7573742062652070726f76696465642e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "12794:26:14", - "type": "", - "value": "Handle must be provided." - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12767:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12767:54:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12767:54:14" - }, - { - "nodeType": "YulAssignment", - "src": "12830:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12842:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12853:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12838:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12838:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12830:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_21a2bd84f525b57b2bd4b3f6b743df9f9213982ad992fcaf15e493982ae38e96__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12665:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12679:4:14", - "type": "" - } - ], - "src": "12514:348:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13041:223:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13058:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13069:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13051:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "13051:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13051:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13092:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13103:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13088:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13088:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13108:2:14", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13081:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "13081:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13081:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13131:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13142:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13127:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13127:18:14" - }, - { - "hexValue": "576f776e65726f2061646472657373206d7573742062652070726f7669646564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "13147:34:14", - "type": "", - "value": "Wownero address must be provided" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13120:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "13120:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13120:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13202:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13213:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13198:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13198:18:14" - }, - { - "hexValue": "2e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "13218:3:14", - "type": "", - "value": "." - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13191:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "13191:31:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13191:31:14" - }, - { - "nodeType": "YulAssignment", - "src": "13231:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13243:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13254:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13239:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13239:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13231:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f4098defdaf49c521e40bcc07b218eb677ee092c8509d09a956f0f646d82d775__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13018:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13032:4:14", - "type": "" - } - ], - "src": "12867:397:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13325:65:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13342:1:14", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "13345:3:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13335:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "13335:14:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13335:14:14" - }, - { - "nodeType": "YulAssignment", - "src": "13358:26:14", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13376:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13379:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "13366:9:14" - }, - "nodeType": "YulFunctionCall", - "src": "13366:18:14" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "13358:4:14" - } - ] - } - ] - }, - "name": "array_dataslot_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "13308:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "13316:4:14", - "type": "" - } - ], - "src": "13269:121:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13632:1050:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13649:3:14" - }, - { - "hexValue": "697066733a2f2f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "13654:9:14", - "type": "", - "value": "ipfs://" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13642:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "13642:22:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13642:22:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13673:11:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13683:1:14", - "type": "", - "value": "7" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "13677:2:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13693:12:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13704:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "13697:3:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13714:30:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "13737:6:14" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "13731:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "13731:13:14" - }, - "variables": [ - { - "name": "slotValue", - "nodeType": "YulTypedName", - "src": "13718:9:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13753:17:14", - "value": { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "13767:3:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "13757:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13779:11:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13789:1:14", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "13783:2:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "13799:28:14", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "13813:2:14" - }, - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "13817:9:14" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "13809:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13809:18:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13799:6:14" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13836:44:14", - "value": { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "13866:9:14" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "13877:2:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13862:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13862:18:14" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "13840:18:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13919:31:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13921:27:14", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13935:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13943:4:14", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13931:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13931:17:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13921:6:14" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "13899:18:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "13892:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "13892:26:14" - }, - "nodeType": "YulIf", - "src": "13889:61:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13959:12:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13969:2:14", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "13963:2:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14030:115:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "14051:3:14" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14060:3:14", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14065:10:14", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "14056:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14056:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14044:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14044:33:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14044:33:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14097:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14100:4:14", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14090:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14090:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14090:15:14" - }, - { - "expression": { - "arguments": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "14125:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14130:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "14118:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14118:17:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14118:17:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "13986:18:14" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "14009:6:14" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "14017:2:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "14006:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "14006:14:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "13983:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "13983:38:14" - }, - "nodeType": "YulIf", - "src": "13980:165:14" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "14195:115:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14220:3:14" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "14225:2:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14216:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14216:12:14" - }, - { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "14234:9:14" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14249:3:14", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "14245:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14245:8:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "14230:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14230:24:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14209:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14209:46:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14209:46:14" - }, - { - "nodeType": "YulAssignment", - "src": "14268:32:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14283:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "14288:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14279:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14279:16:14" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "14297:2:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14275:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14275:25:14" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "14268:3:14" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "14188:122:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14193:1:14", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14326:331:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "14340:52:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14385:6:14" - } - ], - "functionName": { - "name": "array_dataslot_string_storage", - "nodeType": "YulIdentifier", - "src": "14355:29:14" - }, - "nodeType": "YulFunctionCall", - "src": "14355:37:14" - }, - "variables": [ - { - "name": "dataPos", - "nodeType": "YulTypedName", - "src": "14344:7:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14405:10:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14414:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "14409:1:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14482:120:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14515:3:14" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "14520:1:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14511:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14511:11:14" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "14524:2:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14507:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14507:20:14" - }, - { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "14535:7:14" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "14529:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "14529:14:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14500:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14500:44:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14500:44:14" - }, - { - "nodeType": "YulAssignment", - "src": "14561:27:14", - "value": { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "14576:7:14" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "14585:2:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14572:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14572:16:14" - }, - "variableNames": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "14561:7:14" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "14439:1:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "14442:6:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "14436:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "14436:13:14" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "14450:19:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14452:15:14", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "14461:1:14" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "14464:2:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14457:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14457:10:14" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "14452:1:14" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "14432:3:14", - "statements": [] - }, - "src": "14428:174:14" - }, - { - "nodeType": "YulAssignment", - "src": "14615:32:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14630:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "14635:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14626:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14626:16:14" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "14644:2:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14622:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14622:25:14" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "14615:3:14" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "14319:338:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14324:1:14", - "type": "", - "value": "1" - } - } - ], - "expression": { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "14161:18:14" - }, - "nodeType": "YulSwitch", - "src": "14154:503:14" - }, - { - "nodeType": "YulAssignment", - "src": "14666:10:14", - "value": { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "14673:3:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "14666:3:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe_t_string_storage__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "13608:3:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "13613:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "13624:3:14", - "type": "" - } - ], - "src": "13395:1287:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14861:225:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14878:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14889:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14871:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14871:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14871:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14912:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14923:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14908:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14908:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14928:2:14", - "type": "", - "value": "35" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14901:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14901:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14901:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14951:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14962:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14947:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14947:18:14" - }, - { - "hexValue": "5075626c697368657220746970206375742063616e6e6f742065786365656420", - "kind": "string", - "nodeType": "YulLiteral", - "src": "14967:34:14", - "type": "", - "value": "Publisher tip cut cannot exceed " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14940:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14940:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14940:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15022:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15033:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15018:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15018:18:14" - }, - { - "hexValue": "313025", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15038:5:14", - "type": "", - "value": "10%" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15011:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15011:33:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15011:33:14" - }, - { - "nodeType": "YulAssignment", - "src": "15053:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15065:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15076:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15061:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15061:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15053:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_19a56e317d0707766b9c04e1395ed7763a08b2184314bd5115b2658a0c406878__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14838:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14852:4:14", - "type": "" - } - ], - "src": "14687:399:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15265:228:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15282:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15293:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15275:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15275:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15275:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15316:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15327:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15312:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15312:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15332:2:14", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15305:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15305:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15305:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15355:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15366:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15351:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15351:18:14" - }, - { - "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15371:34:14", - "type": "", - "value": "Ownable: new owner is the zero a" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15344:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15344:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15344:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15426:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15437:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15422:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15422:18:14" - }, - { - "hexValue": "646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15442:8:14", - "type": "", - "value": "ddress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15415:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15415:36:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15415:36:14" - }, - { - "nodeType": "YulAssignment", - "src": "15460:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15472:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15483:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15468:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15468:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15460:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15242:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15256:4:14", - "type": "" - } - ], - "src": "15091:402:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15672:226:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15689:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15700:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15682:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15682:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15682:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15723:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15734:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15719:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15719:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15739:2:14", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15712:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15712:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15712:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15762:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15773:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15758:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15758:18:14" - }, - { - "hexValue": "4d6574616461746120495046532068617368206d7573742062652070726f7669", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15778:34:14", - "type": "", - "value": "Metadata IPFS hash must be provi" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15751:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15751:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15751:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15833:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15844:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15829:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15829:18:14" - }, - { - "hexValue": "6465642e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15849:6:14", - "type": "", - "value": "ded." - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15822:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15822:34:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15822:34:14" - }, - { - "nodeType": "YulAssignment", - "src": "15865:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15877:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15888:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15873:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15873:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15865:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_03ee8be836a49cc259f22bfabefff5c991e1cbde6e64aca1450d31fe70525e94__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15649:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15663:4:14", - "type": "" - } - ], - "src": "15498:400:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16077:234:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16094:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16105:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16087:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16087:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16087:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16128:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16139:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16124:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16124:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16144:2:14", - "type": "", - "value": "44" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16117:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16117:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16117:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16167:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16178:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16163:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16163:18:14" - }, - { - "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578", - "kind": "string", - "nodeType": "YulLiteral", - "src": "16183:34:14", - "type": "", - "value": "ERC721: operator query for nonex" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16156:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16156:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16156:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16238:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16249:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16234:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16234:18:14" - }, - { - "hexValue": "697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "16254:14:14", - "type": "", - "value": "istent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16227:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16227:42:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16227:42:14" - }, - { - "nodeType": "YulAssignment", - "src": "16278:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16290:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16301:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16286:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16286:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16278:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16054:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16068:4:14", - "type": "" - } - ], - "src": "15903:408:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16490:231:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16507:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16518:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16500:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16500:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16500:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16541:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16552:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16537:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16537:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16557:2:14", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16530:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16530:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16530:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16580:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16591:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16576:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16576:18:14" - }, - { - "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e20746861742069", - "kind": "string", - "nodeType": "YulLiteral", - "src": "16596:34:14", - "type": "", - "value": "ERC721: transfer of token that i" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16569:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16569:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16569:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16651:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16662:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16647:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16647:18:14" - }, - { - "hexValue": "73206e6f74206f776e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "16667:11:14", - "type": "", - "value": "s not own" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16640:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16640:39:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16640:39:14" - }, - { - "nodeType": "YulAssignment", - "src": "16688:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16700:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16711:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16696:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16696:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16688:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16467:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16481:4:14", - "type": "" - } - ], - "src": "16316:405:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16900:226:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16917:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16928:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16910:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16910:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16910:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16951:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16962:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16947:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16947:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16967:2:14", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16940:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16940:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16940:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16990:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17001:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16986:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16986:18:14" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", - "kind": "string", - "nodeType": "YulLiteral", - "src": "17006:34:14", - "type": "", - "value": "ERC721: transfer to the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16979:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16979:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16979:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17061:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17072:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17057:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17057:18:14" - }, - { - "hexValue": "72657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "17077:6:14", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17050:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "17050:34:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17050:34:14" - }, - { - "nodeType": "YulAssignment", - "src": "17093:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17105:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17116:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17101:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17101:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17093:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16877:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16891:4:14", - "type": "" - } - ], - "src": "16726:400:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17180:76:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "17202:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "17204:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "17204:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17204:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "17196:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "17199:1:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "17193:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "17193:8:14" - }, - "nodeType": "YulIf", - "src": "17190:34:14" - }, - { - "nodeType": "YulAssignment", - "src": "17233:17:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "17245:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "17248:1:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17241:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17241:9:14" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "17233:4:14" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "17162:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "17165:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "17171:4:14", - "type": "" - } - ], - "src": "17131:125:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17307:171:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "17338:111:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17359:1:14", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17366:3:14", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17371:10:14", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "17362:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17362:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17352:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "17352:31:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17352:31:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17403:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17406:4:14", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17396:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "17396:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17396:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17431:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17434:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "17424:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "17424:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17424:15:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "17327:1:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "17320:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "17320:9:14" - }, - "nodeType": "YulIf", - "src": "17317:132:14" - }, - { - "nodeType": "YulAssignment", - "src": "17458:14:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "17467:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "17470:1:14" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "17463:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17463:9:14" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "17458:1:14" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "17292:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "17295:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "17301:1:14", - "type": "" - } - ], - "src": "17261:217:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17657:175:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17674:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17685:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17667:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "17667:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17667:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17708:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17719:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17704:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17704:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17724:2:14", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17697:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "17697:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17697:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17747:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17758:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17743:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17743:18:14" - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "17763:27:14", - "type": "", - "value": "ERC721: approve to caller" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17736:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "17736:55:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17736:55:14" - }, - { - "nodeType": "YulAssignment", - "src": "17800:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17812:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17823:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17808:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17808:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17800:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17634:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17648:4:14", - "type": "" - } - ], - "src": "17483:349:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18011:240:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18028:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18039:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18021:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18021:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18021:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18062:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18073:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18058:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18058:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18078:2:14", - "type": "", - "value": "50" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18051:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18051:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18051:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18101:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18112:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18097:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18097:18:14" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "18117:34:14", - "type": "", - "value": "ERC721: transfer to non ERC721Re" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18090:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18090:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18090:62:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18172:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18183:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18168:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18168:18:14" - }, - { - "hexValue": "63656976657220696d706c656d656e746572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "18188:20:14", - "type": "", - "value": "ceiver implementer" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18161:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18161:48:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18161:48:14" - }, - { - "nodeType": "YulAssignment", - "src": "18218:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18230:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18241:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18226:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18226:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18218:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17988:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18002:4:14", - "type": "" - } - ], - "src": "17837:414:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18459:286:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "18469:29:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18487:3:14", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18492:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "18483:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18483:11:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18496:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18479:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18479:19:14" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "18473:2:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18514:9:14" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18529:6:14" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "18537:2:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "18525:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18525:15:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18507:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18507:34:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18507:34:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18561:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18572:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18557:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18557:18:14" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18581:6:14" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "18589:2:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "18577:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18577:15:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18550:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18550:43:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18550:43:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18613:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18624:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18609:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18609:18:14" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "18629:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18602:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18602:34:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18602:34:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18656:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18667:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18652:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18652:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18672:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18645:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18645:31:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18645:31:14" - }, - { - "nodeType": "YulAssignment", - "src": "18685:54:14", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "18711:6:14" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18723:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18734:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18719:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18719:19:14" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "18693:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "18693:46:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18685:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18404:9:14", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "18415:6:14", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "18423:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18431:6:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18439:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18450:4:14", - "type": "" - } - ], - "src": "18256:489:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18830:169:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "18876:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18885:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18888:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "18878:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18878:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18878:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "18851:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18860:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18847:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18847:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18872:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "18843:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18843:32:14" - }, - "nodeType": "YulIf", - "src": "18840:52:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18901:29:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18920:9:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "18914:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "18914:16:14" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "18905:5:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "18963:5:14" - } - ], - "functionName": { - "name": "validator_revert_bytes4", - "nodeType": "YulIdentifier", - "src": "18939:23:14" - }, - "nodeType": "YulFunctionCall", - "src": "18939:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18939:30:14" - }, - { - "nodeType": "YulAssignment", - "src": "18978:15:14", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "18988:5:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18978:6:14" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18796:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "18807:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18819:6:14", - "type": "" - } - ], - "src": "18750:249:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19178:182:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19195:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19206:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19188:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "19188:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "19188:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19229:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19240:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19225:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "19225:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19245:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19218:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "19218:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "19218:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19268:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19279:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19264:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "19264:18:14" - }, - { - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "19284:34:14", - "type": "", - "value": "ERC721: mint to the zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19257:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "19257:62:14" - }, - "nodeType": "YulExpressionStatement", - "src": "19257:62:14" - }, - { - "nodeType": "YulAssignment", - "src": "19328:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19340:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19351:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19336:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "19336:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19328:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19155:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19169:4:14", - "type": "" - } - ], - "src": "19004:356:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19539:178:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19556:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19567:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19549:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "19549:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "19549:21:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19590:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19601:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19586:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "19586:18:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19606:2:14", - "type": "", - "value": "28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19579:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "19579:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "19579:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19629:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19640:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19625:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "19625:18:14" - }, - { - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "19645:30:14", - "type": "", - "value": "ERC721: token already minted" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19618:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "19618:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "19618:58:14" - }, - { - "nodeType": "YulAssignment", - "src": "19685:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19697:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19708:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19693:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "19693:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19685:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19516:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19530:4:14", - "type": "" - } - ], - "src": "19365:352:14" - } - ] - }, - "contents": "{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function copy_memory_to_memory(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_available_length_string(src, length, end) -> array\n {\n let _1 := 0xffffffffffffffff\n if gt(length, _1) { panic_error_0x41() }\n let _2 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(length, 31), _2), 63), _2))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n array := memPtr\n mstore(memPtr, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), src, length)\n mstore(add(add(memPtr, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_string_memory_ptrt_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 128)\n let tail_1 := abi_encode_string(value0, add(headStart, 128))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string(value2, tail_2)\n mstore(add(headStart, 96), value3)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_address_t_address_t_string_memory_ptr__to_t_uint256_t_uint256_t_uint256_t_address_t_address_t_string_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 96), and(value3, _1))\n mstore(add(headStart, 128), and(value4, _1))\n mstore(add(headStart, 160), 192)\n tail := abi_encode_string(value5, add(headStart, 192))\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n value3 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_51781659b9b87b31473084a763a26c97daeb0b563be37c53793253dbc1748c92__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"Contract tip cut cannot exceed 1\")\n mstore(add(headStart, 96), \"0%\")\n tail := add(headStart, 128)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"ERC721: approved query for nonex\")\n mstore(add(headStart, 96), \"istent token\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 56)\n mstore(add(headStart, 64), \"ERC721: approve caller is not ow\")\n mstore(add(headStart, 96), \"ner nor approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ff8cb15b09afd61e4d6715a8197b8bbc3c85f956b419f000f4d0b394da5d25f2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"Metadata IPFS hash cannot be emp\")\n mstore(add(headStart, 96), \"ty.\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_4233d5d63bdd09b4bd1359ce07db729b14fafbc4753fff49e6f84cc9741224d0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 52)\n mstore(add(headStart, 64), \"That metadata IPFS hash has alre\")\n mstore(add(headStart, 96), \"ady been referenced.\")\n tail := add(headStart, 128)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 49)\n mstore(add(headStart, 64), \"ERC721: transfer caller is not o\")\n mstore(add(headStart, 96), \"wner nor approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ac81a2d3b21557bc2abd29901590718faad8da05d30612a4fed35f4bc846acd5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 30)\n mstore(add(headStart, 64), \"Cannot tip non-existent token.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: owner query for nonexist\")\n mstore(add(headStart, 96), \"ent token\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"ERC721: balance query for the ze\")\n mstore(add(headStart, 96), \"ro address\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_21a2bd84f525b57b2bd4b3f6b743df9f9213982ad992fcaf15e493982ae38e96__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Handle must be provided.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_f4098defdaf49c521e40bcc07b218eb677ee092c8509d09a956f0f646d82d775__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"Wownero address must be provided\")\n mstore(add(headStart, 96), \".\")\n tail := add(headStart, 128)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function abi_encode_tuple_packed_t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe_t_string_storage__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n mstore(pos, \"ipfs://\")\n let _1 := 7\n let ret := 0\n let slotValue := sload(value0)\n let length := ret\n let _2 := 1\n length := shr(_2, slotValue)\n let outOfPlaceEncoding := and(slotValue, _2)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n let _3 := 32\n if eq(outOfPlaceEncoding, lt(length, _3))\n {\n mstore(ret, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(ret, 0x24)\n }\n switch outOfPlaceEncoding\n case 0 {\n mstore(add(pos, _1), and(slotValue, not(255)))\n ret := add(add(pos, length), _1)\n }\n case 1 {\n let dataPos := array_dataslot_string_storage(value0)\n let i := 0\n for { } lt(i, length) { i := add(i, _3) }\n {\n mstore(add(add(pos, i), _1), sload(dataPos))\n dataPos := add(dataPos, _2)\n }\n ret := add(add(pos, length), _1)\n }\n end := ret\n }\n function abi_encode_tuple_t_stringliteral_19a56e317d0707766b9c04e1395ed7763a08b2184314bd5115b2658a0c406878__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"Publisher tip cut cannot exceed \")\n mstore(add(headStart, 96), \"10%\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_03ee8be836a49cc259f22bfabefff5c991e1cbde6e64aca1450d31fe70525e94__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"Metadata IPFS hash must be provi\")\n mstore(add(headStart, 96), \"ded.\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"ERC721: operator query for nonex\")\n mstore(add(headStart, 96), \"istent token\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: transfer of token that i\")\n mstore(add(headStart, 96), \"s not own\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"ERC721: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"ERC721: token already minted\")\n tail := add(headStart, 96)\n }\n}", - "id": 14, - "language": "Yul", - "name": "#utility.yul" - } - ], - "sourceMap": "1228:47:13:-:0;360:6038;1228:47;;360:6038;1228:47;;;-1:-1:-1;;;1228:47:13;;;;;;;;;;:::i;:::-;-1:-1:-1;1281:38:13;;;;;;;;;;;;;-1:-1:-1;;;1281:38:13;;;;;;;;;;;;:::i;:::-;;1364:1;1325:40;;1411:1;1371:41;;1419:42;;;;;;;;;-1:-1:-1;1375:113:1;;;;;;;;;;;-1:-1:-1;;;1375:113:1;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1375:113:1;;;;1441:13;;1375:113;;;1441:13;;-1:-1:-1;;1441:13:1;:::i;:::-;-1:-1:-1;1464:17:1;;;;:7;;:17;;;;;:::i;:::-;;1375:113;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;:32::i;:::-;360:6038:13;;640:96:7;719:10;;640:96::o;2270:187:0:-;2362:6;;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;360:6038:13:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;360:6038:13;;;-1:-1:-1;360:6038:13;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:380:14;93:1;89:12;;;;136;;;157:61;;211:4;203:6;199:17;189:27;;157:61;264:2;256:6;253:14;233:18;230:38;227:161;;;310:10;305:3;301:20;298:1;291:31;345:4;342:1;335:15;373:4;370:1;363:15;227:161;;14:380;;;:::o;:::-;360:6038:13;;;;;;", - "deployedSourceMap": "360:6038:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1555:300:1;;;;;;;;;;-1:-1:-1;1555:300:1;;;;;:::i;:::-;;:::i;:::-;;;565:14:14;;558:22;540:41;;528:2;513:18;1555:300:1;;;;;;;;1800:179:13;;;;;;;;;;-1:-1:-1;1800:179:13;;;;;:::i;:::-;;:::i;:::-;;2473:98:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3984:217::-;;;;;;;;;;-1:-1:-1;3984:217:1;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:14;;;1674:51;;1662:2;1647:18;3984:217:1;1528:203:14;3522:401:1;;;;;;;;;;-1:-1:-1;3522:401:1;;;;;:::i;:::-;;:::i;2273:99:13:-;;;;;;;;;;;;;:::i;:::-;;;2319:25:14;;;2307:2;2292:18;2273:99:13;2173:177:14;3348:1105:13;;;;;;;;;;-1:-1:-1;3348:1105:13;;;;;:::i;:::-;;:::i;1083:44::-;;;;;;;;;;-1:-1:-1;1083:44:13;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;1228:47::-;;;;;;;;;;;;;:::i;4711:330:1:-;;;;;;;;;;-1:-1:-1;4711:330:1;;;;;:::i;:::-;;:::i;4544:1366:13:-;;;;;;:::i;:::-;;:::i;1035:42::-;;;;;;;;;;-1:-1:-1;1035:42:13;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;1598:140::-;;;;;;;;;;;;;:::i;5107:179:1:-;;;;;;;;;;-1:-1:-1;5107:179:1;;;;;:::i;:::-;;:::i;2176:235::-;;;;;;;;;;-1:-1:-1;2176:235:1;;;;;:::i;:::-;;:::i;1914:205::-;;;;;;;;;;-1:-1:-1;1914:205:1;;;;;:::i;:::-;;:::i;1668:101:0:-;;;;;;;;;;;;;:::i;1325:40:13:-;;;;;;;;;;;;;;;;2748:185;;;;;;;;;;-1:-1:-1;2748:185:13;;;;;:::i;:::-;;:::i;1036:85:0:-;;;;;;;;;;-1:-1:-1;1108:6:0;;-1:-1:-1;;;;;1108:6:0;1036:85;;2635:102:1;;;;;;;;;;;;;:::i;1281:38:13:-;;;;;;;;;;;;;:::i;4268:153:1:-;;;;;;;;;;-1:-1:-1;4268:153:1;;;;;:::i;:::-;;:::i;1371:41:13:-;;;;;;;;;;;;;;;;2477:230;;;;;;;;;;-1:-1:-1;2477:230:13;;;;;:::i;:::-;;:::i;5352:320:1:-;;;;;;;;;;-1:-1:-1;5352:320:1;;;;;:::i;:::-;;:::i;5967:293:13:-;;;;;;;;;;-1:-1:-1;5967:293:13;;;;;:::i;:::-;;:::i;2042:182::-;;;;;;;;;;-1:-1:-1;2042:182:13;;;;;:::i;:::-;;:::i;1133:50::-;;;;;;;;;;-1:-1:-1;1133:50:13;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;4487:162:1;;;;;;;;;;-1:-1:-1;4487:162:1;;;;;:::i;:::-;-1:-1:-1;;;;;4607:25:1;;;4584:4;4607:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4487:162;1918:198:0;;;;;;;;;;-1:-1:-1;1918:198:0;;;;;:::i;:::-;;:::i;2994:235:13:-;;;;;;;;;;-1:-1:-1;2994:235:13;;;;;:::i;:::-;;:::i;1555:300:1:-;1657:4;-1:-1:-1;;;;;;1692:40:1;;-1:-1:-1;;;1692:40:1;;:104;;-1:-1:-1;;;;;;;1748:48:1;;-1:-1:-1;;;1748:48:1;1692:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:10;;;1812:36:1;1673:175;1555:300;-1:-1:-1;;1555:300:1:o;1800:179:13:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:7;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;;;;;;;;;1890:2:13::1;1879:7;:13;;1871:60;;;::::0;-1:-1:-1;;;1871:60:13;;7719:2:14;1871:60:13::1;::::0;::::1;7701:21:14::0;7758:2;7738:18;;;7731:30;7797:34;7777:18;;;7770:62;-1:-1:-1;;;7848:18:14;;;7841:32;7890:19;;1871:60:13::1;7517:398:14::0;1871:60:13::1;1941:21;:31:::0;1800:179::o;2473:98:1:-;2527:13;2559:5;2552:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2473:98;:::o;3984:217::-;4060:7;7232:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7232:16:1;4079:73;;;;-1:-1:-1;;;4079:73:1;;8507:2:14;4079:73:1;;;8489:21:14;8546:2;8526:18;;;8519:30;8585:34;8565:18;;;8558:62;-1:-1:-1;;;8636:18:14;;;8629:42;8688:19;;4079:73:1;8305:408:14;4079:73:1;-1:-1:-1;4170:24:1;;;;:15;:24;;;;;;-1:-1:-1;;;;;4170:24:1;;3984:217::o;3522:401::-;3602:13;3618:23;3633:7;3618:14;:23::i;:::-;3602:39;;3665:5;-1:-1:-1;;;;;3659:11:1;:2;-1:-1:-1;;;;;3659:11:1;;;3651:57;;;;-1:-1:-1;;;3651:57:1;;8920:2:14;3651:57:1;;;8902:21:14;8959:2;8939:18;;;8932:30;8998:34;8978:18;;;8971:62;-1:-1:-1;;;9049:18:14;;;9042:31;9090:19;;3651:57:1;8718:397:14;3651:57:1;719:10:7;-1:-1:-1;;;;;3740:21:1;;;;:62;;-1:-1:-1;3765:37:1;3782:5;719:10:7;4487:162:1;:::i;3765:37::-;3719:165;;;;-1:-1:-1;;;3719:165:1;;9322:2:14;3719:165:1;;;9304:21:14;9361:2;9341:18;;;9334:30;9400:34;9380:18;;;9373:62;9471:26;9451:18;;;9444:54;9515:19;;3719:165:1;9120:420:14;3719:165:1;3895:21;3904:2;3908:7;3895:8;:21::i;:::-;3592:331;3522:401;;:::o;2273:99:13:-;2317:7;2343:22;:12;918:14:8;;827:112;2343:22:13;2336:29;;2273:99;:::o;3348:1105::-;3478:1;3451:16;3445:30;:34;3437:82;;;;-1:-1:-1;;;3437:82:13;;9747:2:14;3437:82:13;;;9729:21:14;9786:2;9766:18;;;9759:30;9825:34;9805:18;;;9798:62;-1:-1:-1;;;9876:18:14;;;9869:33;9919:19;;3437:82:13;9545:399:14;3437:82:13;3537:15;3553:16;3537:33;;;;;;:::i;:::-;;;;;;;;;;;;;;3574:1;3537:38;3529:103;;;;-1:-1:-1;;;3529:103:13;;10432:2:14;3529:103:13;;;10414:21:14;10471:2;10451:18;;;10444:30;10510:34;10490:18;;;10483:62;-1:-1:-1;;;10561:18:14;;;10554:50;10621:19;;3529:103:13;10230:416:14;3529:103:13;3642:15;3660:13;:11;:13::i;:::-;:17;;3676:1;3660:17;:::i;:::-;3642:35;;3701:30;3711:10;3723:7;3701:9;:30::i;:::-;3741:24;:12;1032:19:8;;1050:1;1032:19;;;945:123;3741:24:13;3879:7;3843:15;3859:16;3843:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:43;;;;3972:10;3960:23;;;;:11;:23;;;;;:38;;;;:52;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4081:27:13;;;;;;;;;:40;;;;:54;;;;;;;;;;;;;;;;;4209:237;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4188:18;;;:9;:18;;;;;;:258;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4188:258:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;;:258;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;3348:1105:13:o;1083:44::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1228:47::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4711:330:1:-;4900:41;719:10:7;4933:7:1;4900:18;:41::i;:::-;4892:103;;;;-1:-1:-1;;;4892:103:1;;;;;;;:::i;:::-;5006:28;5016:4;5022:2;5026:7;5006:9;:28::i;4544:1366:13:-;4622:13;:11;:13::i;:::-;4611:7;:24;;4603:67;;;;-1:-1:-1;;;4603:67:13;;11536:2:14;4603:67:13;;;11518:21:14;11575:2;11555:18;;;11548:30;11614:32;11594:18;;;11587:60;11664:18;;4603:67:13;11334:354:14;4603:67:13;4828:21;;4763:3;;4747:13;;4804:47;;4818:32;;4763:3;;4818:9;:32::i;:::-;4804:9;;:13;:47::i;:::-;4776:75;;4861:26;4890:48;4904:33;4914:22;;4904:5;:9;;:33;;;;:::i;4890:48::-;4861:77;-1:-1:-1;4948:24:13;4975:56;4989:41;:17;4861:77;4989:21;:41::i;:::-;4975:9;;:13;:56::i;:::-;5075:15;5093:18;;;:9;:18;;;;;;;;:33;;;;5156:35;;;;;5357:10;5345:23;;:11;:23;;;;;;;:34;;;;4948:83;;-1:-1:-1;;;;;;5093:33:13;;;;5156:35;;;5225:4;;5345:49;;5384:9;5345:38;:49::i;:::-;5320:10;5308:23;;;;:11;:23;;;;;;;;:34;;:86;;;;5441:18;;;:9;:18;;;:34;;;:56;;5480:16;5441:38;:56::i;:::-;5404:18;;;;:9;:18;;;;;:34;;;:93;;;;5546:36;:60;;5587:18;5546:40;:60::i;:::-;5507:18;;;;:9;:18;;;;;:99;;;5654:35;;;:58;;5694:17;5654:39;:58::i;:::-;5616:18;;;;:9;:18;;;;;;:35;;:96;;;;5751:43;;-1:-1:-1;;;;;5751:25:13;;;:43;;;;;5777:16;;5751:43;5616:18;5751:43;5777:16;5751:25;:43;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5804:47:13;;-1:-1:-1;;;;;5804:27:13;;;:47;;;;;5832:18;;5804:47;;;;5832:18;5804:27;:47;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5861:42:13;;-1:-1:-1;;;;;5861:23:13;;;:42;;;;;5885:17;;5861:42;;;;5885:17;5861:23;:42;;;;;;;;;;;;;;;;;;;;;4593:1317;;;;;;;4544:1366;:::o;1035:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1035:42:13;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1598:140::-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:7;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1694:37:13::1;::::0;1663:21:::1;::::0;1702:10:::1;::::0;1694:37;::::1;;;::::0;1663:21;;1645:15:::1;1694:37:::0;1645:15;1694:37;1663:21;1702:10;1694:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;1635:103;1598:140::o:0;5107:179:1:-;5240:39;5257:4;5263:2;5267:7;5240:39;;;;;;;;;;;;:16;:39::i;2176:235::-;2248:7;2283:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2283:16:1;2317:19;2309:73;;;;-1:-1:-1;;;2309:73:1;;11895:2:14;2309:73:1;;;11877:21:14;11934:2;11914:18;;;11907:30;11973:34;11953:18;;;11946:62;-1:-1:-1;;;12024:18:14;;;12017:39;12073:19;;2309:73:1;11693:405:14;1914:205:1;1986:7;-1:-1:-1;;;;;2013:19:1;;2005:74;;;;-1:-1:-1;;;2005:74:1;;12305:2:14;2005:74:1;;;12287:21:14;12344:2;12324:18;;;12317:30;12383:34;12363:18;;;12356:62;-1:-1:-1;;;12434:18:14;;;12427:40;12484:19;;2005:74:1;12103:406:14;2005:74:1;-1:-1:-1;;;;;;2096:16:1;;;;;:9;:16;;;;;;;1914:205::o;1668:101:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:7;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;2748:185:13:-;2843:1;2826:6;2820:20;:24;2812:61;;;;-1:-1:-1;;;2812:61:13;;12716:2:14;2812:61:13;;;12698:21:14;12755:2;12735:18;;;12728:30;12794:26;12774:18;;;12767:54;12838:18;;2812:61:13;12514:348:14;2812:61:13;2895:10;2883:23;;;;:11;:23;;;;;;;;:43;;;;:34;;;;;:43;;;;:::i;2635:102:1:-;2691:13;2723:7;2716:14;;;;;:::i;1281:38:13:-;;;;;;;:::i;4268:153:1:-;4362:52;719:10:7;4395:8:1;4405;4362:18;:52::i;2477:230:13:-;2596:1;2571:14;2565:28;:32;2557:78;;;;-1:-1:-1;;;2557:78:13;;13069:2:14;2557:78:13;;;13051:21:14;13108:2;13088:18;;;13081:30;13147:34;13127:18;;;13120:62;-1:-1:-1;;;13198:18:14;;;13191:31;13239:19;;2557:78:13;12867:397:14;2557:78:13;2657:10;2645:23;;;;:11;:23;;;;;;;;:55;;;;;;;;:::i;5352:320:1:-;5521:41;719:10:7;5554:7:1;5521:18;:41::i;:::-;5513:103;;;;-1:-1:-1;;;5513:103:1;;;;;;;:::i;:::-;5626:39;5640:4;5646:2;5650:7;5659:5;5626:13;:39::i;:::-;5352:320;;;;:::o;5967:293:13:-;6090:13;6216:9;:18;6226:7;6216:18;;;;;;;;;;;:35;;6188:64;;;;;;;;:::i;:::-;;;;;;;;;;;;;6174:79;;5967:293;;;:::o;2042:182::-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:7;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;2133:2:13::1;2122:7;:13;;2114:61;;;::::0;-1:-1:-1;;;2114:61:13;;14889:2:14;2114:61:13::1;::::0;::::1;14871:21:14::0;14928:2;14908:18;;;14901:30;14967:34;14947:18;;;14940:62;-1:-1:-1;;;15018:18:14;;;15011:33;15061:19;;2114:61:13::1;14687:399:14::0;2114:61:13::1;2185:22;:32:::0;2042:182::o;1918:198:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:7;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;15293:2:14;1998:73:0::1;::::0;::::1;15275:21:14::0;15332:2;15312:18;;;15305:30;15371:34;15351:18;;;15344:62;-1:-1:-1;;;15422:18:14;;;15415:36;15468:19;;1998:73:0::1;15091:402:14::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2994:235:13:-;3111:1;3084:16;3078:30;:34;3070:83;;;;-1:-1:-1;;;3070:83:13;;15700:2:14;3070:83:13;;;15682:21:14;15739:2;15719:18;;;15712:30;15778:34;15758:18;;;15751:62;-1:-1:-1;;;15829:18:14;;;15822:34;15873:19;;3070:83:13;15498:400:14;3070:83:13;3175:10;3163:23;;;;:11;:23;;;;;;;;:59;;;;:40;;;;;:59;;;;:::i;10995:171:1:-;11069:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;11069:29:1;-1:-1:-1;;;;;11069:29:1;;;;;;;;:24;;11122:23;11069:24;11122:14;:23::i;:::-;-1:-1:-1;;;;;11113:46:1;;;;;;;;;;;10995:171;;:::o;8101:108::-;8176:26;8186:2;8190:7;8176:26;;;;;;;;;;;;:9;:26::i;7427:344::-;7520:4;7232:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7232:16:1;7536:73;;;;-1:-1:-1;;;7536:73:1;;16105:2:14;7536:73:1;;;16087:21:14;16144:2;16124:18;;;16117:30;16183:34;16163:18;;;16156:62;-1:-1:-1;;;16234:18:14;;;16227:42;16286:19;;7536:73:1;15903:408:14;7536:73:1;7619:13;7635:23;7650:7;7635:14;:23::i;:::-;7619:39;;7687:5;-1:-1:-1;;;;;7676:16:1;:7;-1:-1:-1;;;;;7676:16:1;;:51;;;;7720:7;-1:-1:-1;;;;;7696:31:1;:20;7708:7;7696:11;:20::i;:::-;-1:-1:-1;;;;;7696:31:1;;7676:51;:87;;;-1:-1:-1;;;;;;4607:25:1;;;4584:4;4607:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7731:32;7668:96;7427:344;-1:-1:-1;;;;7427:344:1:o;10324:560::-;10478:4;-1:-1:-1;;;;;10451:31:1;:23;10466:7;10451:14;:23::i;:::-;-1:-1:-1;;;;;10451:31:1;;10443:85;;;;-1:-1:-1;;;10443:85:1;;16518:2:14;10443:85:1;;;16500:21:14;16557:2;16537:18;;;16530:30;16596:34;16576:18;;;16569:62;-1:-1:-1;;;16647:18:14;;;16640:39;16696:19;;10443:85:1;16316:405:14;10443:85:1;-1:-1:-1;;;;;10546:16:1;;10538:65;;;;-1:-1:-1;;;10538:65:1;;16928:2:14;10538:65:1;;;16910:21:14;16967:2;16947:18;;;16940:30;17006:34;16986:18;;;16979:62;-1:-1:-1;;;17057:18:14;;;17050:34;17101:19;;10538:65:1;16726:400:14;10538:65:1;10715:29;10732:1;10736:7;10715:8;:29::i;:::-;-1:-1:-1;;;;;10755:15:1;;;;;;:9;:15;;;;;:20;;10774:1;;10755:15;:20;;10774:1;;10755:20;:::i;:::-;;;;-1:-1:-1;;;;;;;10785:13:1;;;;;;:9;:13;;;;;:18;;10802:1;;10785:13;:18;;10802:1;;10785:18;:::i;:::-;;;;-1:-1:-1;;10813:16:1;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;10813:21:1;-1:-1:-1;;;;;10813:21:1;;;;;;;;;10850:27;;10813:16;;10850:27;;;;;;;10324:560;;;:::o;3836:96:12:-;3894:7;3920:5;3924:1;3920;:5;:::i;:::-;3913:12;3836:96;-1:-1:-1;;;3836:96:12:o;2741:::-;2799:7;2825:5;2829:1;2825;:5;:::i;3108:96::-;3166:7;3192:5;3196:1;3192;:5;:::i;2270:187:0:-;2362:6;;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;11301:307:1:-;11451:8;-1:-1:-1;;;;;11442:17:1;:5;-1:-1:-1;;;;;11442:17:1;;;11434:55;;;;-1:-1:-1;;;11434:55:1;;17685:2:14;11434:55:1;;;17667:21:14;17724:2;17704:18;;;17697:30;17763:27;17743:18;;;17736:55;17808:18;;11434:55:1;17483:349:14;11434:55:1;-1:-1:-1;;;;;11499:25:1;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;11499:46:1;;;;;;;;;;11560:41;;540::14;;;11560::1;;513:18:14;11560:41:1;;;;;;;11301:307;;;:::o;6534:::-;6685:28;6695:4;6701:2;6705:7;6685:9;:28::i;:::-;6731:48;6754:4;6760:2;6764:7;6773:5;6731:22;:48::i;:::-;6723:111;;;;-1:-1:-1;;;6723:111:1;;;;;;;:::i;8430:311::-;8555:18;8561:2;8565:7;8555:5;:18::i;:::-;8604:54;8635:1;8639:2;8643:7;8652:5;8604:22;:54::i;:::-;8583:151;;;;-1:-1:-1;;;8583:151:1;;;;;;;:::i;12161:778::-;12311:4;-1:-1:-1;;;;;12331:13:1;;1087:20:6;1133:8;12327:606:1;;12366:72;;-1:-1:-1;;;12366:72:1;;-1:-1:-1;;;;;12366:36:1;;;;;:72;;719:10:7;;12417:4:1;;12423:7;;12432:5;;12366:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12366:72:1;;;;;;;;-1:-1:-1;;12366:72:1;;;;;;;;;;;;:::i;:::-;;;12362:519;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12605:13:1;;12601:266;;12647:60;;-1:-1:-1;;;12647:60:1;;;;;;;:::i;12601:266::-;12819:6;12813:13;12804:6;12800:2;12796:15;12789:38;12362:519;-1:-1:-1;;;;;;12488:51:1;-1:-1:-1;;;12488:51:1;;-1:-1:-1;12481:58:1;;12327:606;-1:-1:-1;12918:4:1;12161:778;;;;;;:::o;9063:372::-;-1:-1:-1;;;;;9142:16:1;;9134:61;;;;-1:-1:-1;;;9134:61:1;;19206:2:14;9134:61:1;;;19188:21:14;;;19225:18;;;19218:30;19284:34;19264:18;;;19257:62;19336:18;;9134:61:1;19004:356:14;9134:61:1;7209:4;7232:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7232:16:1;:30;9205:58;;;;-1:-1:-1;;;9205:58:1;;19567:2:14;9205:58:1;;;19549:21:14;19606:2;19586:18;;;19579:30;19645;19625:18;;;19618:58;19693:18;;9205:58:1;19365:352:14;9205:58:1;-1:-1:-1;;;;;9330:13:1;;;;;;:9;:13;;;;;:18;;9347:1;;9330:13;:18;;9347:1;;9330:18;:::i;:::-;;;;-1:-1:-1;;9358:16:1;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9358:21:1;-1:-1:-1;;;;;9358:21:1;;;;;;;;9395:33;;9358:16;;;9395:33;;9358:16;;9395:33;9063:372;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:131:14;-1:-1:-1;;;;;;88:32:14;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:180::-;651:6;704:2;692:9;683:7;679:23;675:32;672:52;;;720:1;717;710:12;672:52;-1:-1:-1;743:23:14;;592:180;-1:-1:-1;592:180:14:o;777:258::-;849:1;859:113;873:6;870:1;867:13;859:113;;;949:11;;;943:18;930:11;;;923:39;895:2;888:10;859:113;;;990:6;987:1;984:13;981:48;;;-1:-1:-1;;1025:1:14;1007:16;;1000:27;777:258::o;1040:::-;1082:3;1120:5;1114:12;1147:6;1142:3;1135:19;1163:63;1219:6;1212:4;1207:3;1203:14;1196:4;1189:5;1185:16;1163:63;:::i;:::-;1280:2;1259:15;-1:-1:-1;;1255:29:14;1246:39;;;;1287:4;1242:50;;1040:258;-1:-1:-1;;1040:258:14:o;1303:220::-;1452:2;1441:9;1434:21;1415:4;1472:45;1513:2;1502:9;1498:18;1490:6;1472:45;:::i;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:14;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:14:o;2355:127::-;2416:10;2411:3;2407:20;2404:1;2397:31;2447:4;2444:1;2437:15;2471:4;2468:1;2461:15;2487:632;2552:5;2582:18;2623:2;2615:6;2612:14;2609:40;;;2629:18;;:::i;:::-;2704:2;2698:9;2672:2;2758:15;;-1:-1:-1;;2754:24:14;;;2780:2;2750:33;2746:42;2734:55;;;2804:18;;;2824:22;;;2801:46;2798:72;;;2850:18;;:::i;:::-;2890:10;2886:2;2879:22;2919:6;2910:15;;2949:6;2941;2934:22;2989:3;2980:6;2975:3;2971:16;2968:25;2965:45;;;3006:1;3003;2996:12;2965:45;3056:6;3051:3;3044:4;3036:6;3032:17;3019:44;3111:1;3104:4;3095:6;3087;3083:19;3079:30;3072:41;;;;2487:632;;;;;:::o;3124:222::-;3167:5;3220:3;3213:4;3205:6;3201:17;3197:27;3187:55;;3238:1;3235;3228:12;3187:55;3260:80;3336:3;3327:6;3314:20;3307:4;3299:6;3295:17;3260:80;:::i;3351:396::-;3429:6;3437;3490:2;3478:9;3469:7;3465:23;3461:32;3458:52;;;3506:1;3503;3496:12;3458:52;3546:9;3533:23;3579:18;3571:6;3568:30;3565:50;;;3611:1;3608;3601:12;3565:50;3634;3676:7;3667:6;3656:9;3652:22;3634:50;:::i;:::-;3624:60;;;3703:38;3737:2;3726:9;3722:18;3703:38;:::i;:::-;3693:48;;3351:396;;;;;:::o;3752:186::-;3811:6;3864:2;3852:9;3843:7;3839:23;3835:32;3832:52;;;3880:1;3877;3870:12;3832:52;3903:29;3922:9;3903:29;:::i;3943:619::-;4216:3;4205:9;4198:22;4179:4;4243:46;4284:3;4273:9;4269:19;4261:6;4243:46;:::i;:::-;4337:9;4329:6;4325:22;4320:2;4309:9;4305:18;4298:50;4371:33;4397:6;4389;4371:33;:::i;:::-;4357:47;;4452:9;4444:6;4440:22;4435:2;4424:9;4420:18;4413:50;4480:33;4506:6;4498;4480:33;:::i;:::-;4472:41;;;4549:6;4544:2;4533:9;4529:18;4522:34;3943:619;;;;;;;:::o;4567:328::-;4644:6;4652;4660;4713:2;4701:9;4692:7;4688:23;4684:32;4681:52;;;4729:1;4726;4719:12;4681:52;4752:29;4771:9;4752:29;:::i;:::-;4742:39;;4800:38;4834:2;4823:9;4819:18;4800:38;:::i;:::-;4790:48;;4885:2;4874:9;4870:18;4857:32;4847:42;;4567:328;;;;;:::o;4900:635::-;5171:25;;;5227:2;5212:18;;5205:34;;;5270:2;5255:18;;5248:34;;;-1:-1:-1;;;;;5356:15:14;;;5351:2;5336:18;;5329:43;5409:15;;5403:3;5388:19;;5381:44;5462:3;5309;5441:19;;5434:32;;;-1:-1:-1;;5483:46:14;;5509:19;;5501:6;5483:46;:::i;:::-;5475:54;4900:635;-1:-1:-1;;;;;;;;4900:635:14:o;5540:322::-;5609:6;5662:2;5650:9;5641:7;5637:23;5633:32;5630:52;;;5678:1;5675;5668:12;5630:52;5718:9;5705:23;5751:18;5743:6;5740:30;5737:50;;;5783:1;5780;5773:12;5737:50;5806;5848:7;5839:6;5828:9;5824:22;5806:50;:::i;5867:347::-;5932:6;5940;5993:2;5981:9;5972:7;5968:23;5964:32;5961:52;;;6009:1;6006;5999:12;5961:52;6032:29;6051:9;6032:29;:::i;:::-;6022:39;;6111:2;6100:9;6096:18;6083:32;6158:5;6151:13;6144:21;6137:5;6134:32;6124:60;;6180:1;6177;6170:12;6124:60;6203:5;6193:15;;;5867:347;;;;;:::o;6219:667::-;6314:6;6322;6330;6338;6391:3;6379:9;6370:7;6366:23;6362:33;6359:53;;;6408:1;6405;6398:12;6359:53;6431:29;6450:9;6431:29;:::i;:::-;6421:39;;6479:38;6513:2;6502:9;6498:18;6479:38;:::i;:::-;6469:48;;6564:2;6553:9;6549:18;6536:32;6526:42;;6619:2;6608:9;6604:18;6591:32;6646:18;6638:6;6635:30;6632:50;;;6678:1;6675;6668:12;6632:50;6701:22;;6754:4;6746:13;;6742:27;-1:-1:-1;6732:55:14;;6783:1;6780;6773:12;6732:55;6806:74;6872:7;6867:2;6854:16;6849:2;6845;6841:11;6806:74;:::i;:::-;6796:84;;;6219:667;;;;;;;:::o;6891:260::-;6959:6;6967;7020:2;7008:9;6999:7;6995:23;6991:32;6988:52;;;7036:1;7033;7026:12;6988:52;7059:29;7078:9;7059:29;:::i;:::-;7049:39;;7107:38;7141:2;7130:9;7126:18;7107:38;:::i;7156:356::-;7358:2;7340:21;;;7377:18;;;7370:30;7436:34;7431:2;7416:18;;7409:62;7503:2;7488:18;;7156:356::o;7920:380::-;7999:1;7995:12;;;;8042;;;8063:61;;8117:4;8109:6;8105:17;8095:27;;8063:61;8170:2;8162:6;8159:14;8139:18;8136:38;8133:161;;;8216:10;8211:3;8207:20;8204:1;8197:31;8251:4;8248:1;8241:15;8279:4;8276:1;8269:15;8133:161;;7920:380;;;:::o;9949:276::-;10080:3;10118:6;10112:13;10134:53;10180:6;10175:3;10168:4;10160:6;10156:17;10134:53;:::i;:::-;10203:16;;;;;9949:276;-1:-1:-1;;9949:276:14:o;10651:127::-;10712:10;10707:3;10703:20;10700:1;10693:31;10743:4;10740:1;10733:15;10767:4;10764:1;10757:15;10783:128;10823:3;10854:1;10850:6;10847:1;10844:13;10841:39;;;10860:18;;:::i;:::-;-1:-1:-1;10896:9:14;;10783:128::o;10916:413::-;11118:2;11100:21;;;11157:2;11137:18;;;11130:30;11196:34;11191:2;11176:18;;11169:62;-1:-1:-1;;;11262:2:14;11247:18;;11240:47;11319:3;11304:19;;10916:413::o;13395:1287::-;-1:-1:-1;;;13649:3:14;13642:22;13624:3;13683:1;13704;13737:6;13731:13;13767:3;13789:1;13817:9;13813:2;13809:18;13799:28;;13877:2;13866:9;13862:18;13899;13889:61;;13943:4;13935:6;13931:17;13921:27;;13889:61;13969:2;14017;14009:6;14006:14;13986:18;13983:38;13980:165;;;-1:-1:-1;;;14044:33:14;;14100:4;14097:1;14090:15;14130:4;14051:3;14118:17;13980:165;14161:18;14188:122;;;;14324:1;14319:338;;;;14154:503;;14188:122;-1:-1:-1;;14230:24:14;;14216:12;;;14209:46;14279:16;;;14275:25;;;-1:-1:-1;14188:122:14;;14319:338;13342:1;13335:14;;;13379:4;13366:18;;14414:1;14428:174;14442:6;14439:1;14436:13;14428:174;;;14529:14;;14511:11;;;14507:20;;14500:44;14572:16;;;;14457:10;;14428:174;;;14432:3;;14644:2;14635:6;14630:3;14626:16;14622:25;14615:32;;14154:503;-1:-1:-1;14673:3:14;;13395:1287;-1:-1:-1;;;;;;;;;13395:1287:14:o;17131:125::-;17171:4;17199:1;17196;17193:8;17190:34;;;17204:18;;:::i;:::-;-1:-1:-1;17241:9:14;;17131:125::o;17261:217::-;17301:1;17327;17317:132;;17371:10;17366:3;17362:20;17359:1;17352:31;17406:4;17403:1;17396:15;17434:4;17431:1;17424:15;17317:132;-1:-1:-1;17463:9:14;;17261:217::o;17837:414::-;18039:2;18021:21;;;18078:2;18058:18;;;18051:30;18117:34;18112:2;18097:18;;18090:62;-1:-1:-1;;;18183:2:14;18168:18;;18161:48;18241:3;18226:19;;17837:414::o;18256:489::-;-1:-1:-1;;;;;18525:15:14;;;18507:34;;18577:15;;18572:2;18557:18;;18550:43;18624:2;18609:18;;18602:34;;;18672:3;18667:2;18652:18;;18645:31;;;18450:4;;18693:46;;18719:19;;18711:6;18693:46;:::i;:::-;18685:54;18256:489;-1:-1:-1;;;;;;18256:489:14:o;18750:249::-;18819:6;18872:2;18860:9;18851:7;18847:23;18843:32;18840:52;;;18888:1;18885;18878:12;18840:52;18920:9;18914:16;18939:30;18963:5;18939:30;:::i", - "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/utils/math/SafeMath.sol\";\nimport \"@openzeppelin/contracts/utils/Counters.sol\";\n\n\ncontract SuchWowX is ERC721, ERC721URIStorage, Ownable {\n using SafeMath for uint256;\n using Counters for Counters.Counter;\n Counters.Counter private _tokenSupply;\n\n // Structs to represent our data\n struct Meme {\n uint256 publisherTipsAVAX;\n uint256 creatorTipsAVAX;\n uint256 contractTipsAVAX;\n address publisherAddress;\n address creatorAddress;\n string metadataIPFSHash;\n }\n\n struct User {\n string wowneroAddress;\n string userHandle;\n string metadataIPFSHash;\n uint256 tippedAVAX;\n uint256[] memesPublished;\n uint256[] memesCreated;\n }\n\n // Data to maintain\n mapping (uint256 => Meme) public tokenMeme;\n mapping (address => User) public userProfile;\n mapping (string => uint256) public metadataTokenId;\n\n // Define starting contract state\n string public contractCreator = \"lzamenace.eth\";\n string public contractVersion = \"v0.1\";\n uint256 public contractTipCutPercent = 5;\n uint256 public publisherTipCutPercent = 5;\n\n constructor() ERC721(\"SuchWowX\", \"SWX\") {}\n\n /************\n Contract Operations\n ************/\n\n // Withdraw contract balance to creator (mnemonic seed address 0)\n function withdraw() public onlyOwner {\n uint256 balance = address(this).balance;\n payable(msg.sender).transfer(balance);\n }\n\n // Specify new contract tip cut (not to exceed 10%)\n function setContractTipCut(uint256 percent) public onlyOwner {\n require(percent <= 10, \"Contract tip cut cannot exceed 10%\");\n contractTipCutPercent = percent;\n }\n\n // Specify new publisher tip cut (not to exceed 10%)\n function setPublisherTipCut(uint256 percent) public onlyOwner {\n require(percent <= 10, \"Publisher tip cut cannot exceed 10%\");\n publisherTipCutPercent = percent;\n }\n\n // Get total supply based upon counter\n function totalSupply() public view returns (uint256) {\n return _tokenSupply.current();\n }\n\n /************\n User Settings\n ************/\n\n // Specify new Wownero address for user\n function setUserWowneroAddress(string memory wowneroAddress) external {\n require(bytes(wowneroAddress).length > 0, \"Wownero address must be provided.\");\n userProfile[msg.sender].wowneroAddress = wowneroAddress;\n }\n\n // Specify new handle for user\n function setUserHandle(string memory handle) external {\n require(bytes(handle).length > 0, \"Handle must be provided.\");\n userProfile[msg.sender].userHandle = handle;\n }\n\n // Specify new profile metadata IPFS hash for user\n function setUserMetadata(string memory metadataIPFSHash) external {\n require(bytes(metadataIPFSHash).length > 0, \"Metadata IPFS hash must be provided.\");\n userProfile[msg.sender].metadataIPFSHash = metadataIPFSHash;\n }\n\n /************\n Minting\n ************/\n\n\n // Mint a new token with a specific metadata hash location\n function mint(string memory metadataIPFSHash, address creatorAddress) external {\n require(bytes(metadataIPFSHash).length > 0, \"Metadata IPFS hash cannot be empty.\");\n require(metadataTokenId[metadataIPFSHash] == 0, \"That metadata IPFS hash has already been referenced.\");\n uint256 tokenId = totalSupply() + 1; // Start at 1\n _safeMint(msg.sender, tokenId);\n _tokenSupply.increment();\n // track metadata IPFS hashes to be unique to each token ID\n metadataTokenId[metadataIPFSHash] = tokenId;\n // publisher details - track memes published for minter\n userProfile[msg.sender].memesPublished.push(tokenId);\n // creator details - track memes created for memer\n userProfile[creatorAddress].memesCreated.push(tokenId);\n // track meme details per token ID\n tokenMeme[tokenId] = Meme({\n publisherAddress: msg.sender,\n creatorAddress: creatorAddress,\n metadataIPFSHash: metadataIPFSHash,\n publisherTipsAVAX: 0,\n creatorTipsAVAX: 0,\n contractTipsAVAX: 0\n });\n }\n\n /************\n Tipping\n ************/\n\n // Tip a token and it's creator\n function tipAVAX(uint256 tokenId) public payable {\n require(tokenId <= totalSupply(), \"Cannot tip non-existent token.\");\n // Calculate tip amounts based upon stored cut percentages\n uint256 hundo = 100;\n uint256 contractTipAmount = msg.value.div(hundo.div(contractTipCutPercent));\n uint256 publisherTipAmount = msg.value.div(hundo.div(publisherTipCutPercent));\n uint256 creatorTipAmount = msg.value.sub(contractTipAmount.add(publisherTipAmount));\n // Store addresses to use\n address creator = tokenMeme[tokenId].creatorAddress;\n address publisher = tokenMeme[tokenId].publisherAddress;\n address ctrct = address(this);\n // Store tip amounts for sender and recipients to the chain\n userProfile[msg.sender].tippedAVAX = userProfile[msg.sender].tippedAVAX.add(msg.value);\n tokenMeme[tokenId].creatorTipsAVAX = tokenMeme[tokenId].creatorTipsAVAX.add(creatorTipAmount);\n tokenMeme[tokenId].publisherTipsAVAX = tokenMeme[tokenId].publisherTipsAVAX.add(publisherTipAmount);\n tokenMeme[tokenId].contractTipsAVAX = tokenMeme[tokenId].contractTipsAVAX.add(contractTipAmount);\n // Send transactions\n payable(creator).transfer(creatorTipAmount);\n payable(publisher).transfer(publisherTipAmount);\n payable(ctrct).transfer(contractTipAmount);\n }\n\n /************\n Overrides\n ************/\n\n function tokenURI(uint256 tokenId)\n public\n view\n override(ERC721, ERC721URIStorage)\n returns (string memory)\n {\n // Each token should return a unique IPFS hash\n return string(abi.encodePacked(\"ipfs://\", tokenMeme[tokenId].metadataIPFSHash));\n }\n\n function _burn(uint256 tokenId)\n internal\n override(ERC721, ERC721URIStorage)\n {\n // Prevent burning\n }\n}\n", - "sourcePath": "/home/lance/git/github.com/lalanza808/suchwowx-smart-contract/contracts/SuchWowX.sol", - "ast": { - "absolutePath": "project:/contracts/SuchWowX.sol", - "exportedSymbols": { - "Address": [ - 1521 - ], - "Context": [ - 1543 - ], - "Counters": [ - 1617 - ], - "ERC165": [ - 1844 - ], - "ERC721": [ - 935 - ], - "ERC721URIStorage": [ - 1197 - ], - "IERC165": [ - 1856 - ], - "IERC721": [ - 1051 - ], - "IERC721Metadata": [ - 1224 - ], - "IERC721Receiver": [ - 1069 - ], - "Ownable": [ - 104 - ], - "SafeMath": [ - 2168 - ], - "Strings": [ - 1820 - ], - "SuchWowX": [ - 2666 - ] - }, - "id": 2667, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2170, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "32:23:13" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 2171, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2667, - "sourceUnit": 936, - "src": "57:57:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "file": "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "id": 2172, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2667, - "sourceUnit": 1198, - "src": "115:78:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", - "file": "@openzeppelin/contracts/access/Ownable.sol", - "id": 2173, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2667, - "sourceUnit": 105, - "src": "194:52:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "file": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "id": 2174, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2667, - "sourceUnit": 2169, - "src": "247:57:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", - "file": "@openzeppelin/contracts/utils/Counters.sol", - "id": 2175, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2667, - "sourceUnit": 1618, - "src": "305:52:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2176, - "name": "ERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 935, - "src": "381:6:13" - }, - "id": 2177, - "nodeType": "InheritanceSpecifier", - "src": "381:6:13" - }, - { - "baseName": { - "id": 2178, - "name": "ERC721URIStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1197, - "src": "389:16:13" - }, - "id": 2179, - "nodeType": "InheritanceSpecifier", - "src": "389:16:13" - }, - { - "baseName": { - "id": 2180, - "name": "Ownable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 104, - "src": "407:7:13" - }, - "id": 2181, - "nodeType": "InheritanceSpecifier", - "src": "407:7:13" - } - ], - "canonicalName": "SuchWowX", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2666, - "linearizedBaseContracts": [ - 2666, - 104, - 1197, - 935, - 1224, - 1051, - 1844, - 1856, - 1543 - ], - "name": "SuchWowX", - "nameLocation": "369:8:13", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2184, - "libraryName": { - "id": 2182, - "name": "SafeMath", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2168, - "src": "427:8:13" - }, - "nodeType": "UsingForDirective", - "src": "421:27:13", - "typeName": { - "id": 2183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 2188, - "libraryName": { - "id": 2185, - "name": "Counters", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1617, - "src": "459:8:13" - }, - "nodeType": "UsingForDirective", - "src": "453:36:13", - "typeName": { - "id": 2187, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2186, - "name": "Counters.Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "472:16:13" - }, - "referencedDeclaration": 1549, - "src": "472:16:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - { - "constant": false, - "id": 2191, - "mutability": "mutable", - "name": "_tokenSupply", - "nameLocation": "519:12:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "494:37:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 2190, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2189, - "name": "Counters.Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "494:16:13" - }, - "referencedDeclaration": 1549, - "src": "494:16:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "private" - }, - { - "canonicalName": "SuchWowX.Meme", - "id": 2204, - "members": [ - { - "constant": false, - "id": 2193, - "mutability": "mutable", - "name": "publisherTipsAVAX", - "nameLocation": "605:17:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "597:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "597:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2195, - "mutability": "mutable", - "name": "creatorTipsAVAX", - "nameLocation": "640:15:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "632:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2197, - "mutability": "mutable", - "name": "contractTipsAVAX", - "nameLocation": "673:16:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "665:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "665:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2199, - "mutability": "mutable", - "name": "publisherAddress", - "nameLocation": "707:16:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "699:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2198, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "699:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2201, - "mutability": "mutable", - "name": "creatorAddress", - "nameLocation": "741:14:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "733:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "733:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2203, - "mutability": "mutable", - "name": "metadataIPFSHash", - "nameLocation": "772:16:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "765:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2202, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "765:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "name": "Meme", - "nameLocation": "582:4:13", - "nodeType": "StructDefinition", - "scope": 2666, - "src": "575:220:13", - "visibility": "public" - }, - { - "canonicalName": "SuchWowX.User", - "id": 2219, - "members": [ - { - "constant": false, - "id": 2206, - "mutability": "mutable", - "name": "wowneroAddress", - "nameLocation": "830:14:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "823:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2205, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "823:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2208, - "mutability": "mutable", - "name": "userHandle", - "nameLocation": "861:10:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "854:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2207, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "854:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2210, - "mutability": "mutable", - "name": "metadataIPFSHash", - "nameLocation": "888:16:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "881:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2209, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "881:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2212, - "mutability": "mutable", - "name": "tippedAVAX", - "nameLocation": "922:10:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "914:18:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "914:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2215, - "mutability": "mutable", - "name": "memesPublished", - "nameLocation": "952:14:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "942:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2213, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "942:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2214, - "nodeType": "ArrayTypeName", - "src": "942:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2218, - "mutability": "mutable", - "name": "memesCreated", - "nameLocation": "986:12:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "976:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "976:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2217, - "nodeType": "ArrayTypeName", - "src": "976:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "name": "User", - "nameLocation": "808:4:13", - "nodeType": "StructDefinition", - "scope": 2666, - "src": "801:204:13", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2f0d275c", - "id": 2224, - "mutability": "mutable", - "name": "tokenMeme", - "nameLocation": "1068:9:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1035:42:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme)" - }, - "typeName": { - "id": 2223, - "keyType": { - "id": 2220, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1044:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1035:25:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme)" - }, - "valueType": { - "id": 2222, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2221, - "name": "Meme", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2204, - "src": "1055:4:13" - }, - "referencedDeclaration": 2204, - "src": "1055:4:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage_ptr", - "typeString": "struct SuchWowX.Meme" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1c8e8962", - "id": 2229, - "mutability": "mutable", - "name": "userProfile", - "nameLocation": "1116:11:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1083:44:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User)" - }, - "typeName": { - "id": 2228, - "keyType": { - "id": 2225, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1092:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1083:25:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User)" - }, - "valueType": { - "id": 2227, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2226, - "name": "User", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2219, - "src": "1103:4:13" - }, - "referencedDeclaration": 2219, - "src": "1103:4:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage_ptr", - "typeString": "struct SuchWowX.User" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e4faf68a", - "id": 2233, - "mutability": "mutable", - "name": "metadataTokenId", - "nameLocation": "1168:15:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1133:50:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string => uint256)" - }, - "typeName": { - "id": 2232, - "keyType": { - "id": 2230, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1142:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "nodeType": "Mapping", - "src": "1133:27:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string => uint256)" - }, - "valueType": { - "id": 2231, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1152:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e2f73b1", - "id": 2236, - "mutability": "mutable", - "name": "contractCreator", - "nameLocation": "1242:15:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1228:47:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2234, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1228:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "hexValue": "6c7a616d656e6163652e657468", - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1260:15:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f316940a3397612bcf6085380f71ee2bb399772dda2c94b4e5b282491766ba26", - "typeString": "literal_string \"lzamenace.eth\"" - }, - "value": "lzamenace.eth" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a0a8e460", - "id": 2239, - "mutability": "mutable", - "name": "contractVersion", - "nameLocation": "1295:15:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1281:38:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2237, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1281:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "hexValue": "76302e31", - "id": 2238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1313:6:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d332d76c5f02eb1a7286b96f4a528ceba4d78d0825283d5be2e358ade4be84e", - "typeString": "literal_string \"v0.1\"" - }, - "value": "v0.1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "73ab0976", - "id": 2242, - "mutability": "mutable", - "name": "contractTipCutPercent", - "nameLocation": "1340:21:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1325:40:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1325:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "35", - "id": 2241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1364:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a8ad4198", - "id": 2245, - "mutability": "mutable", - "name": "publisherTipCutPercent", - "nameLocation": "1386:22:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1371:41:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1371:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "35", - "id": 2244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1411:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "public" - }, - { - "body": { - "id": 2252, - "nodeType": "Block", - "src": "1459:2:13", - "statements": [] - }, - "id": 2253, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "53756368576f7758", - "id": 2248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1440:10:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a2dd066bdb6c14ea4f8e82b20629efaaf7ecfc543b5392d51a9a284aee142715", - "typeString": "literal_string \"SuchWowX\"" - }, - "value": "SuchWowX" - }, - { - "hexValue": "535758", - "id": 2249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1452:5:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a3611d7c8920cbb9d60e4bffa416d7e7676451f7a31f463cccec43c7ac6d8c38", - "typeString": "literal_string \"SWX\"" - }, - "value": "SWX" - } - ], - "id": 2250, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 2247, - "name": "ERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 935, - "src": "1433:6:13" - }, - "nodeType": "ModifierInvocation", - "src": "1433:25:13" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2246, - "nodeType": "ParameterList", - "parameters": [], - "src": "1430:2:13" - }, - "returnParameters": { - "id": 2251, - "nodeType": "ParameterList", - "parameters": [], - "src": "1459:0:13" - }, - "scope": 2666, - "src": "1419:42:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2275, - "nodeType": "Block", - "src": "1635:103:13", - "statements": [ - { - "assignments": [ - 2259 - ], - "declarations": [ - { - "constant": false, - "id": 2259, - "mutability": "mutable", - "name": "balance", - "nameLocation": "1653:7:13", - "nodeType": "VariableDeclaration", - "scope": 2275, - "src": "1645:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1645:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2265, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 2262, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "1671:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SuchWowX_$2666", - "typeString": "contract SuchWowX" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_SuchWowX_$2666", - "typeString": "contract SuchWowX" - } - ], - "id": 2261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1663:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1663:7:13", - "typeDescriptions": {} - } - }, - "id": 2263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1663:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "1663:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1645:39:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2272, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2259, - "src": "1723:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 2268, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1702:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1702:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1694:8:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 2266, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1694:8:13", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 2270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1694:19:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "src": "1694:28:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1694:37:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2274, - "nodeType": "ExpressionStatement", - "src": "1694:37:13" - } - ] - }, - "functionSelector": "3ccfd60b", - "id": 2276, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2256, - "kind": "modifierInvocation", - "modifierName": { - "id": 2255, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "1625:9:13" - }, - "nodeType": "ModifierInvocation", - "src": "1625:9:13" - } - ], - "name": "withdraw", - "nameLocation": "1607:8:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2254, - "nodeType": "ParameterList", - "parameters": [], - "src": "1615:2:13" - }, - "returnParameters": { - "id": 2257, - "nodeType": "ParameterList", - "parameters": [], - "src": "1635:0:13" - }, - "scope": 2666, - "src": "1598:140:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2294, - "nodeType": "Block", - "src": "1861:118:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2284, - "name": "percent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2278, - "src": "1879:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "3130", - "id": 2285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1890:2:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "1879:13:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "436f6e747261637420746970206375742063616e6e6f742065786365656420313025", - "id": 2287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1894:36:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51781659b9b87b31473084a763a26c97daeb0b563be37c53793253dbc1748c92", - "typeString": "literal_string \"Contract tip cut cannot exceed 10%\"" - }, - "value": "Contract tip cut cannot exceed 10%" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_51781659b9b87b31473084a763a26c97daeb0b563be37c53793253dbc1748c92", - "typeString": "literal_string \"Contract tip cut cannot exceed 10%\"" - } - ], - "id": 2283, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1871:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1871:60:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2289, - "nodeType": "ExpressionStatement", - "src": "1871:60:13" - }, - { - "expression": { - "id": 2292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2290, - "name": "contractTipCutPercent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "1941:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2291, - "name": "percent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2278, - "src": "1965:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1941:31:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2293, - "nodeType": "ExpressionStatement", - "src": "1941:31:13" - } - ] - }, - "functionSelector": "03ae8eb2", - "id": 2295, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2281, - "kind": "modifierInvocation", - "modifierName": { - "id": 2280, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "1851:9:13" - }, - "nodeType": "ModifierInvocation", - "src": "1851:9:13" - } - ], - "name": "setContractTipCut", - "nameLocation": "1809:17:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2278, - "mutability": "mutable", - "name": "percent", - "nameLocation": "1835:7:13", - "nodeType": "VariableDeclaration", - "scope": 2295, - "src": "1827:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2277, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1827:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1826:17:13" - }, - "returnParameters": { - "id": 2282, - "nodeType": "ParameterList", - "parameters": [], - "src": "1861:0:13" - }, - "scope": 2666, - "src": "1800:179:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2313, - "nodeType": "Block", - "src": "2104:120:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2303, - "name": "percent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "2122:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "3130", - "id": 2304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2133:2:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2122:13:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5075626c697368657220746970206375742063616e6e6f742065786365656420313025", - "id": 2306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2137:37:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_19a56e317d0707766b9c04e1395ed7763a08b2184314bd5115b2658a0c406878", - "typeString": "literal_string \"Publisher tip cut cannot exceed 10%\"" - }, - "value": "Publisher tip cut cannot exceed 10%" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_19a56e317d0707766b9c04e1395ed7763a08b2184314bd5115b2658a0c406878", - "typeString": "literal_string \"Publisher tip cut cannot exceed 10%\"" - } - ], - "id": 2302, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2114:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2114:61:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2308, - "nodeType": "ExpressionStatement", - "src": "2114:61:13" - }, - { - "expression": { - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2309, - "name": "publisherTipCutPercent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2245, - "src": "2185:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2310, - "name": "percent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "2210:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2185:32:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2312, - "nodeType": "ExpressionStatement", - "src": "2185:32:13" - } - ] - }, - "functionSelector": "d1ac0493", - "id": 2314, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2300, - "kind": "modifierInvocation", - "modifierName": { - "id": 2299, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "2094:9:13" - }, - "nodeType": "ModifierInvocation", - "src": "2094:9:13" - } - ], - "name": "setPublisherTipCut", - "nameLocation": "2051:18:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2297, - "mutability": "mutable", - "name": "percent", - "nameLocation": "2078:7:13", - "nodeType": "VariableDeclaration", - "scope": 2314, - "src": "2070:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2296, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2070:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2069:17:13" - }, - "returnParameters": { - "id": 2301, - "nodeType": "ParameterList", - "parameters": [], - "src": "2104:0:13" - }, - "scope": 2666, - "src": "2042:182:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2323, - "nodeType": "Block", - "src": "2326:46:13", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2319, - "name": "_tokenSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "2343:12:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 2320, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "current", - "nodeType": "MemberAccess", - "referencedDeclaration": 1561, - "src": "2343:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1549_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$1549_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" - } - }, - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2343:22:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2318, - "id": 2322, - "nodeType": "Return", - "src": "2336:29:13" - } - ] - }, - "functionSelector": "18160ddd", - "id": 2324, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "2282:11:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2315, - "nodeType": "ParameterList", - "parameters": [], - "src": "2293:2:13" - }, - "returnParameters": { - "id": 2318, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2317, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2324, - "src": "2317:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2317:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2316:9:13" - }, - "scope": 2666, - "src": "2273:99:13", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2348, - "nodeType": "Block", - "src": "2547:160:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2332, - "name": "wowneroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "2571:14:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2565:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2330, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2565:5:13", - "typeDescriptions": {} - } - }, - "id": 2333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2565:21:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2565:28:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2596:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2565:32:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "576f776e65726f2061646472657373206d7573742062652070726f76696465642e", - "id": 2337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2599:35:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f4098defdaf49c521e40bcc07b218eb677ee092c8509d09a956f0f646d82d775", - "typeString": "literal_string \"Wownero address must be provided.\"" - }, - "value": "Wownero address must be provided." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f4098defdaf49c521e40bcc07b218eb677ee092c8509d09a956f0f646d82d775", - "typeString": "literal_string \"Wownero address must be provided.\"" - } - ], - "id": 2329, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2557:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2557:78:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2339, - "nodeType": "ExpressionStatement", - "src": "2557:78:13" - }, - { - "expression": { - "id": 2346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2340, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "2645:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2343, - "indexExpression": { - "expression": { - "id": 2341, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "2657:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2657:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2645:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "wowneroAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2206, - "src": "2645:38:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2345, - "name": "wowneroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "2686:14:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2645:55:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2347, - "nodeType": "ExpressionStatement", - "src": "2645:55:13" - } - ] - }, - "functionSelector": "afb5d0d4", - "id": 2349, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setUserWowneroAddress", - "nameLocation": "2486:21:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2326, - "mutability": "mutable", - "name": "wowneroAddress", - "nameLocation": "2522:14:13", - "nodeType": "VariableDeclaration", - "scope": 2349, - "src": "2508:28:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2325, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2508:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2507:30:13" - }, - "returnParameters": { - "id": 2328, - "nodeType": "ParameterList", - "parameters": [], - "src": "2547:0:13" - }, - "scope": 2666, - "src": "2477:230:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2373, - "nodeType": "Block", - "src": "2802:131:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2357, - "name": "handle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2351, - "src": "2826:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2820:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2355, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2820:5:13", - "typeDescriptions": {} - } - }, - "id": 2358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2820:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2820:20:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2843:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2820:24:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "48616e646c65206d7573742062652070726f76696465642e", - "id": 2362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2846:26:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_21a2bd84f525b57b2bd4b3f6b743df9f9213982ad992fcaf15e493982ae38e96", - "typeString": "literal_string \"Handle must be provided.\"" - }, - "value": "Handle must be provided." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_21a2bd84f525b57b2bd4b3f6b743df9f9213982ad992fcaf15e493982ae38e96", - "typeString": "literal_string \"Handle must be provided.\"" - } - ], - "id": 2354, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2812:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2812:61:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2364, - "nodeType": "ExpressionStatement", - "src": "2812:61:13" - }, - { - "expression": { - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2365, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "2883:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2368, - "indexExpression": { - "expression": { - "id": 2366, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "2895:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2895:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2883:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2369, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "userHandle", - "nodeType": "MemberAccess", - "referencedDeclaration": 2208, - "src": "2883:34:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2370, - "name": "handle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2351, - "src": "2920:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2883:43:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2372, - "nodeType": "ExpressionStatement", - "src": "2883:43:13" - } - ] - }, - "functionSelector": "849cac9a", - "id": 2374, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setUserHandle", - "nameLocation": "2757:13:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2352, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2351, - "mutability": "mutable", - "name": "handle", - "nameLocation": "2785:6:13", - "nodeType": "VariableDeclaration", - "scope": 2374, - "src": "2771:20:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2350, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2771:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2770:22:13" - }, - "returnParameters": { - "id": 2353, - "nodeType": "ParameterList", - "parameters": [], - "src": "2802:0:13" - }, - "scope": 2666, - "src": "2748:185:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2398, - "nodeType": "Block", - "src": "3060:169:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2382, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2376, - "src": "3084:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3078:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2380, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3078:5:13", - "typeDescriptions": {} - } - }, - "id": 2383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3078:23:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3078:30:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3111:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3078:34:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4d6574616461746120495046532068617368206d7573742062652070726f76696465642e", - "id": 2387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3114:38:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03ee8be836a49cc259f22bfabefff5c991e1cbde6e64aca1450d31fe70525e94", - "typeString": "literal_string \"Metadata IPFS hash must be provided.\"" - }, - "value": "Metadata IPFS hash must be provided." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03ee8be836a49cc259f22bfabefff5c991e1cbde6e64aca1450d31fe70525e94", - "typeString": "literal_string \"Metadata IPFS hash must be provided.\"" - } - ], - "id": 2379, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3070:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3070:83:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2389, - "nodeType": "ExpressionStatement", - "src": "3070:83:13" - }, - { - "expression": { - "id": 2396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2390, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "3163:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2393, - "indexExpression": { - "expression": { - "id": 2391, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3175:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3175:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3163:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2394, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "metadataIPFSHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2210, - "src": "3163:40:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2395, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2376, - "src": "3206:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3163:59:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2397, - "nodeType": "ExpressionStatement", - "src": "3163:59:13" - } - ] - }, - "functionSelector": "fab12291", - "id": 2399, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setUserMetadata", - "nameLocation": "3003:15:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2376, - "mutability": "mutable", - "name": "metadataIPFSHash", - "nameLocation": "3033:16:13", - "nodeType": "VariableDeclaration", - "scope": 2399, - "src": "3019:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2375, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3019:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3018:32:13" - }, - "returnParameters": { - "id": 2378, - "nodeType": "ParameterList", - "parameters": [], - "src": "3060:0:13" - }, - "scope": 2666, - "src": "2994:235:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2481, - "nodeType": "Block", - "src": "3427:1026:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2409, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "3451:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3445:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2407, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3445:5:13", - "typeDescriptions": {} - } - }, - "id": 2410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3445:23:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3445:30:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3478:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3445:34:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4d65746164617461204950465320686173682063616e6e6f7420626520656d7074792e", - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3481:37:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ff8cb15b09afd61e4d6715a8197b8bbc3c85f956b419f000f4d0b394da5d25f2", - "typeString": "literal_string \"Metadata IPFS hash cannot be empty.\"" - }, - "value": "Metadata IPFS hash cannot be empty." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ff8cb15b09afd61e4d6715a8197b8bbc3c85f956b419f000f4d0b394da5d25f2", - "typeString": "literal_string \"Metadata IPFS hash cannot be empty.\"" - } - ], - "id": 2406, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3437:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3437:82:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2416, - "nodeType": "ExpressionStatement", - "src": "3437:82:13" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 2418, - "name": "metadataTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2233, - "src": "3537:15:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string memory => uint256)" - } - }, - "id": 2420, - "indexExpression": { - "id": 2419, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "3553:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3537:33:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3574:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3537:38:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54686174206d65746164617461204950465320686173682068617320616c7265616479206265656e207265666572656e6365642e", - "id": 2423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3577:54:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4233d5d63bdd09b4bd1359ce07db729b14fafbc4753fff49e6f84cc9741224d0", - "typeString": "literal_string \"That metadata IPFS hash has already been referenced.\"" - }, - "value": "That metadata IPFS hash has already been referenced." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4233d5d63bdd09b4bd1359ce07db729b14fafbc4753fff49e6f84cc9741224d0", - "typeString": "literal_string \"That metadata IPFS hash has already been referenced.\"" - } - ], - "id": 2417, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3529:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3529:103:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2425, - "nodeType": "ExpressionStatement", - "src": "3529:103:13" - }, - { - "assignments": [ - 2427 - ], - "declarations": [ - { - "constant": false, - "id": 2427, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3650:7:13", - "nodeType": "VariableDeclaration", - "scope": 2481, - "src": "3642:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2426, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3642:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2432, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2428, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2324, - "src": "3660:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3660:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 2430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3676:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3660:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3642:35:13" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 2434, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3711:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3711:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2436, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "3723:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2433, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 599, - 628 - ], - "referencedDeclaration": 599, - "src": "3701:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3701:30:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2438, - "nodeType": "ExpressionStatement", - "src": "3701:30:13" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2439, - "name": "_tokenSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "3741:12:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 2441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "increment", - "nodeType": "MemberAccess", - "referencedDeclaration": 1575, - "src": "3741:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1549_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1549_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3741:24:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2443, - "nodeType": "ExpressionStatement", - "src": "3741:24:13" - }, - { - "expression": { - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2444, - "name": "metadataTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2233, - "src": "3843:15:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string memory => uint256)" - } - }, - "id": 2446, - "indexExpression": { - "id": 2445, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "3859:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3843:33:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2447, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "3879:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3843:43:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2449, - "nodeType": "ExpressionStatement", - "src": "3843:43:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2456, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "4004:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2450, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "3960:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2453, - "indexExpression": { - "expression": { - "id": 2451, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3972:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3972:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3960:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "memesPublished", - "nodeType": "MemberAccess", - "referencedDeclaration": 2215, - "src": "3960:38:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "3960:43:13", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer,uint256)" - } - }, - "id": 2457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3960:52:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2458, - "nodeType": "ExpressionStatement", - "src": "3960:52:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2464, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "4127:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2459, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "4081:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2461, - "indexExpression": { - "id": 2460, - "name": "creatorAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2403, - "src": "4093:14:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4081:27:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "memesCreated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2218, - "src": "4081:40:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "4081:45:13", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer,uint256)" - } - }, - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4081:54:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2466, - "nodeType": "ExpressionStatement", - "src": "4081:54:13" - }, - { - "expression": { - "id": 2479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2467, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "4188:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2469, - "indexExpression": { - "id": 2468, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "4198:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4188:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 2471, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4244:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4244:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2473, - "name": "creatorAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2403, - "src": "4282:14:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2474, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "4326:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "hexValue": "30", - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4373:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 2476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4403:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4434:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2470, - "name": "Meme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2204, - "src": "4209:4:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Meme_$2204_storage_ptr_$", - "typeString": "type(struct SuchWowX.Meme storage pointer)" - } - }, - "id": 2478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "publisherAddress", - "creatorAddress", - "metadataIPFSHash", - "publisherTipsAVAX", - "creatorTipsAVAX", - "contractTipsAVAX" - ], - "nodeType": "FunctionCall", - "src": "4209:237:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_memory_ptr", - "typeString": "struct SuchWowX.Meme memory" - } - }, - "src": "4188:258:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2480, - "nodeType": "ExpressionStatement", - "src": "4188:258:13" - } - ] - }, - "functionSelector": "1c351a9d", - "id": 2482, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nameLocation": "3357:4:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2404, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2401, - "mutability": "mutable", - "name": "metadataIPFSHash", - "nameLocation": "3376:16:13", - "nodeType": "VariableDeclaration", - "scope": 2482, - "src": "3362:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2400, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3362:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2403, - "mutability": "mutable", - "name": "creatorAddress", - "nameLocation": "3402:14:13", - "nodeType": "VariableDeclaration", - "scope": 2482, - "src": "3394:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2402, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3394:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3361:56:13" - }, - "returnParameters": { - "id": 2405, - "nodeType": "ParameterList", - "parameters": [], - "src": "3427:0:13" - }, - "scope": 2666, - "src": "3348:1105:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2632, - "nodeType": "Block", - "src": "4593:1317:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2488, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "4611:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2489, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2324, - "src": "4622:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 2490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4622:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4611:24:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "43616e6e6f7420746970206e6f6e2d6578697374656e7420746f6b656e2e", - "id": 2492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4637:32:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac81a2d3b21557bc2abd29901590718faad8da05d30612a4fed35f4bc846acd5", - "typeString": "literal_string \"Cannot tip non-existent token.\"" - }, - "value": "Cannot tip non-existent token." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac81a2d3b21557bc2abd29901590718faad8da05d30612a4fed35f4bc846acd5", - "typeString": "literal_string \"Cannot tip non-existent token.\"" - } - ], - "id": 2487, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4603:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4603:67:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2494, - "nodeType": "ExpressionStatement", - "src": "4603:67:13" - }, - { - "assignments": [ - 2496 - ], - "declarations": [ - { - "constant": false, - "id": 2496, - "mutability": "mutable", - "name": "hundo", - "nameLocation": "4755:5:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "4747:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4747:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2498, - "initialValue": { - "hexValue": "313030", - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4763:3:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4747:19:13" - }, - { - "assignments": [ - 2500 - ], - "declarations": [ - { - "constant": false, - "id": 2500, - "mutability": "mutable", - "name": "contractTipAmount", - "nameLocation": "4784:17:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "4776:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4776:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2509, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 2506, - "name": "contractTipCutPercent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "4828:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2504, - "name": "hundo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2496, - "src": "4818:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 2077, - "src": "4818:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4818:32:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "id": 2501, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4804:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "4804:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 2077, - "src": "4804:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4804:47:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4776:75:13" - }, - { - "assignments": [ - 2511 - ], - "declarations": [ - { - "constant": false, - "id": 2511, - "mutability": "mutable", - "name": "publisherTipAmount", - "nameLocation": "4869:18:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "4861:26:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4861:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2520, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 2517, - "name": "publisherTipCutPercent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2245, - "src": "4914:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2515, - "name": "hundo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2496, - "src": "4904:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 2077, - "src": "4904:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4904:33:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "id": 2512, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4890:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "4890:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 2077, - "src": "4890:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4890:48:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4861:77:13" - }, - { - "assignments": [ - 2522 - ], - "declarations": [ - { - "constant": false, - "id": 2522, - "mutability": "mutable", - "name": "creatorTipAmount", - "nameLocation": "4956:16:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "4948:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2521, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4948:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2531, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 2528, - "name": "publisherTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2511, - "src": "5011:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2526, - "name": "contractTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2500, - "src": "4989:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2032, - "src": "4989:21:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4989:41:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "id": 2523, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4975:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "4975:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2047, - "src": "4975:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4975:56:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4948:83:13" - }, - { - "assignments": [ - 2533 - ], - "declarations": [ - { - "constant": false, - "id": 2533, - "mutability": "mutable", - "name": "creator", - "nameLocation": "5083:7:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "5075:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5075:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2538, - "initialValue": { - "expression": { - "baseExpression": { - "id": 2534, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5093:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2536, - "indexExpression": { - "id": 2535, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5103:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5093:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creatorAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2201, - "src": "5093:33:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5075:51:13" - }, - { - "assignments": [ - 2540 - ], - "declarations": [ - { - "constant": false, - "id": 2540, - "mutability": "mutable", - "name": "publisher", - "nameLocation": "5144:9:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "5136:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2539, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5136:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2545, - "initialValue": { - "expression": { - "baseExpression": { - "id": 2541, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5156:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2543, - "indexExpression": { - "id": 2542, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5166:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5156:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2544, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "publisherAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2199, - "src": "5156:35:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5136:55:13" - }, - { - "assignments": [ - 2547 - ], - "declarations": [ - { - "constant": false, - "id": 2547, - "mutability": "mutable", - "name": "ctrct", - "nameLocation": "5209:5:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "5201:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2546, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5201:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2552, - "initialValue": { - "arguments": [ - { - "id": 2550, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "5225:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SuchWowX_$2666", - "typeString": "contract SuchWowX" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_SuchWowX_$2666", - "typeString": "contract SuchWowX" - } - ], - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5217:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2548, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5217:7:13", - "typeDescriptions": {} - } - }, - "id": 2551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5217:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5201:29:13" - }, - { - "expression": { - "id": 2567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2553, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "5308:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2556, - "indexExpression": { - "expression": { - "id": 2554, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5320:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5320:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5308:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tippedAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2212, - "src": "5308:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 2564, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5384:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "5384:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2558, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "5345:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2561, - "indexExpression": { - "expression": { - "id": 2559, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5357:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5357:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5345:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2562, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tippedAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2212, - "src": "5345:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2032, - "src": "5345:38:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5345:49:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5308:86:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2568, - "nodeType": "ExpressionStatement", - "src": "5308:86:13" - }, - { - "expression": { - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2569, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5404:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2571, - "indexExpression": { - "id": 2570, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5414:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5404:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2572, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creatorTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2195, - "src": "5404:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2578, - "name": "creatorTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2522, - "src": "5480:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2573, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5441:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2575, - "indexExpression": { - "id": 2574, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5451:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5441:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2576, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creatorTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2195, - "src": "5441:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2032, - "src": "5441:38:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5441:56:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5404:93:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2581, - "nodeType": "ExpressionStatement", - "src": "5404:93:13" - }, - { - "expression": { - "id": 2593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2582, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5507:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2584, - "indexExpression": { - "id": 2583, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5517:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5507:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2585, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "publisherTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2193, - "src": "5507:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2591, - "name": "publisherTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2511, - "src": "5587:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2586, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5546:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2588, - "indexExpression": { - "id": 2587, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5556:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5546:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2589, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "publisherTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2193, - "src": "5546:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2032, - "src": "5546:40:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5546:60:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5507:99:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2594, - "nodeType": "ExpressionStatement", - "src": "5507:99:13" - }, - { - "expression": { - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2595, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5616:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2597, - "indexExpression": { - "id": 2596, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5626:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5616:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "contractTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2197, - "src": "5616:35:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2604, - "name": "contractTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2500, - "src": "5694:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2599, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5654:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2601, - "indexExpression": { - "id": 2600, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5664:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5654:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contractTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2197, - "src": "5654:35:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2032, - "src": "5654:39:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5654:58:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5616:96:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2607, - "nodeType": "ExpressionStatement", - "src": "5616:96:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2613, - "name": "creatorTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2522, - "src": "5777:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2610, - "name": "creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2533, - "src": "5759:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5751:8:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 2608, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5751:8:13", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 2611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5751:16:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "src": "5751:25:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5751:43:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2615, - "nodeType": "ExpressionStatement", - "src": "5751:43:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2621, - "name": "publisherTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2511, - "src": "5832:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2618, - "name": "publisher", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2540, - "src": "5812:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5804:8:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 2616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5804:8:13", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 2619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5804:18:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "src": "5804:27:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5804:47:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2623, - "nodeType": "ExpressionStatement", - "src": "5804:47:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2629, - "name": "contractTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2500, - "src": "5885:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2626, - "name": "ctrct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2547, - "src": "5869:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5861:8:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 2624, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5861:8:13", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5861:14:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "src": "5861:23:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5861:42:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2631, - "nodeType": "ExpressionStatement", - "src": "5861:42:13" - } - ] - }, - "functionSelector": "25a80b3d", - "id": 2633, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tipAVAX", - "nameLocation": "4553:7:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2484, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4569:7:13", - "nodeType": "VariableDeclaration", - "scope": 2633, - "src": "4561:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2483, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4561:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4560:17:13" - }, - "returnParameters": { - "id": 2486, - "nodeType": "ParameterList", - "parameters": [], - "src": "4593:0:13" - }, - "scope": 2666, - "src": "4544:1366:13", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 312, - 1144 - ], - "body": { - "id": 2655, - "nodeType": "Block", - "src": "6109:151:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "697066733a2f2f", - "id": 2647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6205:9:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe", - "typeString": "literal_string \"ipfs://\"" - }, - "value": "ipfs://" - }, - { - "expression": { - "baseExpression": { - "id": 2648, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "6216:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2650, - "indexExpression": { - "id": 2649, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2635, - "src": "6226:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6216:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2651, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "metadataIPFSHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2203, - "src": "6216:35:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe", - "typeString": "literal_string \"ipfs://\"" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "expression": { - "id": 2645, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "6188:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "6188:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6188:64:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6181:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2643, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6181:6:13", - "typeDescriptions": {} - } - }, - "id": 2653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6181:72:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 2642, - "id": 2654, - "nodeType": "Return", - "src": "6174:79:13" - } - ] - }, - "functionSelector": "c87b56dd", - "id": 2656, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "5976:8:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2639, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 2637, - "name": "ERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 935, - "src": "6047:6:13" - }, - { - "id": 2638, - "name": "ERC721URIStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1197, - "src": "6055:16:13" - } - ], - "src": "6038:34:13" - }, - "parameters": { - "id": 2636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2635, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5993:7:13", - "nodeType": "VariableDeclaration", - "scope": 2656, - "src": "5985:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5985:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5984:17:13" - }, - "returnParameters": { - "id": 2642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2641, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2656, - "src": "6090:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2640, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6090:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6089:15:13" - }, - "scope": 2666, - "src": "5967:293:13", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 736, - 1196 - ], - "body": { - "id": 2664, - "nodeType": "Block", - "src": "6362:34:13", - "statements": [] - }, - "id": 2665, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "6275:5:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2662, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 2660, - "name": "ERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 935, - "src": "6332:6:13" - }, - { - "id": 2661, - "name": "ERC721URIStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1197, - "src": "6340:16:13" - } - ], - "src": "6323:34:13" - }, - "parameters": { - "id": 2659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2658, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "6289:7:13", - "nodeType": "VariableDeclaration", - "scope": 2665, - "src": "6281:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6281:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6280:17:13" - }, - "returnParameters": { - "id": 2663, - "nodeType": "ParameterList", - "parameters": [], - "src": "6362:0:13" - }, - "scope": 2666, - "src": "6266:130:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2667, - "src": "360:6038:13", - "usedErrors": [] - } - ], - "src": "32:6367:13" - }, - "legacyAST": { - "absolutePath": "project:/contracts/SuchWowX.sol", - "exportedSymbols": { - "Address": [ - 1521 - ], - "Context": [ - 1543 - ], - "Counters": [ - 1617 - ], - "ERC165": [ - 1844 - ], - "ERC721": [ - 935 - ], - "ERC721URIStorage": [ - 1197 - ], - "IERC165": [ - 1856 - ], - "IERC721": [ - 1051 - ], - "IERC721Metadata": [ - 1224 - ], - "IERC721Receiver": [ - 1069 - ], - "Ownable": [ - 104 - ], - "SafeMath": [ - 2168 - ], - "Strings": [ - 1820 - ], - "SuchWowX": [ - 2666 - ] - }, - "id": 2667, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2170, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "32:23:13" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 2171, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2667, - "sourceUnit": 936, - "src": "57:57:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "file": "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "id": 2172, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2667, - "sourceUnit": 1198, - "src": "115:78:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", - "file": "@openzeppelin/contracts/access/Ownable.sol", - "id": 2173, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2667, - "sourceUnit": 105, - "src": "194:52:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "file": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "id": 2174, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2667, - "sourceUnit": 2169, - "src": "247:57:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", - "file": "@openzeppelin/contracts/utils/Counters.sol", - "id": 2175, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2667, - "sourceUnit": 1618, - "src": "305:52:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2176, - "name": "ERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 935, - "src": "381:6:13" - }, - "id": 2177, - "nodeType": "InheritanceSpecifier", - "src": "381:6:13" - }, - { - "baseName": { - "id": 2178, - "name": "ERC721URIStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1197, - "src": "389:16:13" - }, - "id": 2179, - "nodeType": "InheritanceSpecifier", - "src": "389:16:13" - }, - { - "baseName": { - "id": 2180, - "name": "Ownable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 104, - "src": "407:7:13" - }, - "id": 2181, - "nodeType": "InheritanceSpecifier", - "src": "407:7:13" - } - ], - "canonicalName": "SuchWowX", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2666, - "linearizedBaseContracts": [ - 2666, - 104, - 1197, - 935, - 1224, - 1051, - 1844, - 1856, - 1543 - ], - "name": "SuchWowX", - "nameLocation": "369:8:13", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2184, - "libraryName": { - "id": 2182, - "name": "SafeMath", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2168, - "src": "427:8:13" - }, - "nodeType": "UsingForDirective", - "src": "421:27:13", - "typeName": { - "id": 2183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 2188, - "libraryName": { - "id": 2185, - "name": "Counters", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1617, - "src": "459:8:13" - }, - "nodeType": "UsingForDirective", - "src": "453:36:13", - "typeName": { - "id": 2187, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2186, - "name": "Counters.Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "472:16:13" - }, - "referencedDeclaration": 1549, - "src": "472:16:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - { - "constant": false, - "id": 2191, - "mutability": "mutable", - "name": "_tokenSupply", - "nameLocation": "519:12:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "494:37:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 2190, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2189, - "name": "Counters.Counter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1549, - "src": "494:16:13" - }, - "referencedDeclaration": 1549, - "src": "494:16:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "private" - }, - { - "canonicalName": "SuchWowX.Meme", - "id": 2204, - "members": [ - { - "constant": false, - "id": 2193, - "mutability": "mutable", - "name": "publisherTipsAVAX", - "nameLocation": "605:17:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "597:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "597:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2195, - "mutability": "mutable", - "name": "creatorTipsAVAX", - "nameLocation": "640:15:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "632:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2197, - "mutability": "mutable", - "name": "contractTipsAVAX", - "nameLocation": "673:16:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "665:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "665:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2199, - "mutability": "mutable", - "name": "publisherAddress", - "nameLocation": "707:16:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "699:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2198, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "699:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2201, - "mutability": "mutable", - "name": "creatorAddress", - "nameLocation": "741:14:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "733:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "733:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2203, - "mutability": "mutable", - "name": "metadataIPFSHash", - "nameLocation": "772:16:13", - "nodeType": "VariableDeclaration", - "scope": 2204, - "src": "765:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2202, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "765:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "name": "Meme", - "nameLocation": "582:4:13", - "nodeType": "StructDefinition", - "scope": 2666, - "src": "575:220:13", - "visibility": "public" - }, - { - "canonicalName": "SuchWowX.User", - "id": 2219, - "members": [ - { - "constant": false, - "id": 2206, - "mutability": "mutable", - "name": "wowneroAddress", - "nameLocation": "830:14:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "823:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2205, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "823:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2208, - "mutability": "mutable", - "name": "userHandle", - "nameLocation": "861:10:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "854:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2207, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "854:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2210, - "mutability": "mutable", - "name": "metadataIPFSHash", - "nameLocation": "888:16:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "881:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2209, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "881:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2212, - "mutability": "mutable", - "name": "tippedAVAX", - "nameLocation": "922:10:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "914:18:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "914:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2215, - "mutability": "mutable", - "name": "memesPublished", - "nameLocation": "952:14:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "942:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2213, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "942:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2214, - "nodeType": "ArrayTypeName", - "src": "942:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2218, - "mutability": "mutable", - "name": "memesCreated", - "nameLocation": "986:12:13", - "nodeType": "VariableDeclaration", - "scope": 2219, - "src": "976:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2216, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "976:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2217, - "nodeType": "ArrayTypeName", - "src": "976:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "name": "User", - "nameLocation": "808:4:13", - "nodeType": "StructDefinition", - "scope": 2666, - "src": "801:204:13", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2f0d275c", - "id": 2224, - "mutability": "mutable", - "name": "tokenMeme", - "nameLocation": "1068:9:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1035:42:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme)" - }, - "typeName": { - "id": 2223, - "keyType": { - "id": 2220, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1044:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1035:25:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme)" - }, - "valueType": { - "id": 2222, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2221, - "name": "Meme", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2204, - "src": "1055:4:13" - }, - "referencedDeclaration": 2204, - "src": "1055:4:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage_ptr", - "typeString": "struct SuchWowX.Meme" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1c8e8962", - "id": 2229, - "mutability": "mutable", - "name": "userProfile", - "nameLocation": "1116:11:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1083:44:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User)" - }, - "typeName": { - "id": 2228, - "keyType": { - "id": 2225, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1092:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1083:25:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User)" - }, - "valueType": { - "id": 2227, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2226, - "name": "User", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2219, - "src": "1103:4:13" - }, - "referencedDeclaration": 2219, - "src": "1103:4:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage_ptr", - "typeString": "struct SuchWowX.User" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e4faf68a", - "id": 2233, - "mutability": "mutable", - "name": "metadataTokenId", - "nameLocation": "1168:15:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1133:50:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string => uint256)" - }, - "typeName": { - "id": 2232, - "keyType": { - "id": 2230, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1142:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "nodeType": "Mapping", - "src": "1133:27:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string => uint256)" - }, - "valueType": { - "id": 2231, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1152:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e2f73b1", - "id": 2236, - "mutability": "mutable", - "name": "contractCreator", - "nameLocation": "1242:15:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1228:47:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2234, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1228:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "hexValue": "6c7a616d656e6163652e657468", - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1260:15:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f316940a3397612bcf6085380f71ee2bb399772dda2c94b4e5b282491766ba26", - "typeString": "literal_string \"lzamenace.eth\"" - }, - "value": "lzamenace.eth" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a0a8e460", - "id": 2239, - "mutability": "mutable", - "name": "contractVersion", - "nameLocation": "1295:15:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1281:38:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 2237, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1281:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "hexValue": "76302e31", - "id": 2238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1313:6:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d332d76c5f02eb1a7286b96f4a528ceba4d78d0825283d5be2e358ade4be84e", - "typeString": "literal_string \"v0.1\"" - }, - "value": "v0.1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "73ab0976", - "id": 2242, - "mutability": "mutable", - "name": "contractTipCutPercent", - "nameLocation": "1340:21:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1325:40:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1325:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "35", - "id": 2241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1364:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a8ad4198", - "id": 2245, - "mutability": "mutable", - "name": "publisherTipCutPercent", - "nameLocation": "1386:22:13", - "nodeType": "VariableDeclaration", - "scope": 2666, - "src": "1371:41:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1371:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "35", - "id": 2244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1411:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "visibility": "public" - }, - { - "body": { - "id": 2252, - "nodeType": "Block", - "src": "1459:2:13", - "statements": [] - }, - "id": 2253, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "53756368576f7758", - "id": 2248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1440:10:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a2dd066bdb6c14ea4f8e82b20629efaaf7ecfc543b5392d51a9a284aee142715", - "typeString": "literal_string \"SuchWowX\"" - }, - "value": "SuchWowX" - }, - { - "hexValue": "535758", - "id": 2249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1452:5:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a3611d7c8920cbb9d60e4bffa416d7e7676451f7a31f463cccec43c7ac6d8c38", - "typeString": "literal_string \"SWX\"" - }, - "value": "SWX" - } - ], - "id": 2250, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 2247, - "name": "ERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 935, - "src": "1433:6:13" - }, - "nodeType": "ModifierInvocation", - "src": "1433:25:13" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2246, - "nodeType": "ParameterList", - "parameters": [], - "src": "1430:2:13" - }, - "returnParameters": { - "id": 2251, - "nodeType": "ParameterList", - "parameters": [], - "src": "1459:0:13" - }, - "scope": 2666, - "src": "1419:42:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2275, - "nodeType": "Block", - "src": "1635:103:13", - "statements": [ - { - "assignments": [ - 2259 - ], - "declarations": [ - { - "constant": false, - "id": 2259, - "mutability": "mutable", - "name": "balance", - "nameLocation": "1653:7:13", - "nodeType": "VariableDeclaration", - "scope": 2275, - "src": "1645:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1645:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2265, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 2262, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "1671:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SuchWowX_$2666", - "typeString": "contract SuchWowX" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_SuchWowX_$2666", - "typeString": "contract SuchWowX" - } - ], - "id": 2261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1663:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1663:7:13", - "typeDescriptions": {} - } - }, - "id": 2263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1663:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "1663:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1645:39:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2272, - "name": "balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2259, - "src": "1723:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 2268, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1702:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1702:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1694:8:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 2266, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1694:8:13", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 2270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1694:19:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "src": "1694:28:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1694:37:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2274, - "nodeType": "ExpressionStatement", - "src": "1694:37:13" - } - ] - }, - "functionSelector": "3ccfd60b", - "id": 2276, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2256, - "kind": "modifierInvocation", - "modifierName": { - "id": 2255, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "1625:9:13" - }, - "nodeType": "ModifierInvocation", - "src": "1625:9:13" - } - ], - "name": "withdraw", - "nameLocation": "1607:8:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2254, - "nodeType": "ParameterList", - "parameters": [], - "src": "1615:2:13" - }, - "returnParameters": { - "id": 2257, - "nodeType": "ParameterList", - "parameters": [], - "src": "1635:0:13" - }, - "scope": 2666, - "src": "1598:140:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2294, - "nodeType": "Block", - "src": "1861:118:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2284, - "name": "percent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2278, - "src": "1879:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "3130", - "id": 2285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1890:2:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "1879:13:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "436f6e747261637420746970206375742063616e6e6f742065786365656420313025", - "id": 2287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1894:36:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51781659b9b87b31473084a763a26c97daeb0b563be37c53793253dbc1748c92", - "typeString": "literal_string \"Contract tip cut cannot exceed 10%\"" - }, - "value": "Contract tip cut cannot exceed 10%" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_51781659b9b87b31473084a763a26c97daeb0b563be37c53793253dbc1748c92", - "typeString": "literal_string \"Contract tip cut cannot exceed 10%\"" - } - ], - "id": 2283, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1871:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1871:60:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2289, - "nodeType": "ExpressionStatement", - "src": "1871:60:13" - }, - { - "expression": { - "id": 2292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2290, - "name": "contractTipCutPercent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "1941:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2291, - "name": "percent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2278, - "src": "1965:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1941:31:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2293, - "nodeType": "ExpressionStatement", - "src": "1941:31:13" - } - ] - }, - "functionSelector": "03ae8eb2", - "id": 2295, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2281, - "kind": "modifierInvocation", - "modifierName": { - "id": 2280, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "1851:9:13" - }, - "nodeType": "ModifierInvocation", - "src": "1851:9:13" - } - ], - "name": "setContractTipCut", - "nameLocation": "1809:17:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2278, - "mutability": "mutable", - "name": "percent", - "nameLocation": "1835:7:13", - "nodeType": "VariableDeclaration", - "scope": 2295, - "src": "1827:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2277, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1827:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1826:17:13" - }, - "returnParameters": { - "id": 2282, - "nodeType": "ParameterList", - "parameters": [], - "src": "1861:0:13" - }, - "scope": 2666, - "src": "1800:179:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2313, - "nodeType": "Block", - "src": "2104:120:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2303, - "name": "percent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "2122:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "3130", - "id": 2304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2133:2:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2122:13:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5075626c697368657220746970206375742063616e6e6f742065786365656420313025", - "id": 2306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2137:37:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_19a56e317d0707766b9c04e1395ed7763a08b2184314bd5115b2658a0c406878", - "typeString": "literal_string \"Publisher tip cut cannot exceed 10%\"" - }, - "value": "Publisher tip cut cannot exceed 10%" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_19a56e317d0707766b9c04e1395ed7763a08b2184314bd5115b2658a0c406878", - "typeString": "literal_string \"Publisher tip cut cannot exceed 10%\"" - } - ], - "id": 2302, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2114:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2114:61:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2308, - "nodeType": "ExpressionStatement", - "src": "2114:61:13" - }, - { - "expression": { - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2309, - "name": "publisherTipCutPercent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2245, - "src": "2185:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2310, - "name": "percent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2297, - "src": "2210:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2185:32:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2312, - "nodeType": "ExpressionStatement", - "src": "2185:32:13" - } - ] - }, - "functionSelector": "d1ac0493", - "id": 2314, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2300, - "kind": "modifierInvocation", - "modifierName": { - "id": 2299, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 46, - "src": "2094:9:13" - }, - "nodeType": "ModifierInvocation", - "src": "2094:9:13" - } - ], - "name": "setPublisherTipCut", - "nameLocation": "2051:18:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2297, - "mutability": "mutable", - "name": "percent", - "nameLocation": "2078:7:13", - "nodeType": "VariableDeclaration", - "scope": 2314, - "src": "2070:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2296, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2070:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2069:17:13" - }, - "returnParameters": { - "id": 2301, - "nodeType": "ParameterList", - "parameters": [], - "src": "2104:0:13" - }, - "scope": 2666, - "src": "2042:182:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2323, - "nodeType": "Block", - "src": "2326:46:13", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2319, - "name": "_tokenSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "2343:12:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 2320, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "current", - "nodeType": "MemberAccess", - "referencedDeclaration": 1561, - "src": "2343:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1549_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$1549_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" - } - }, - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2343:22:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2318, - "id": 2322, - "nodeType": "Return", - "src": "2336:29:13" - } - ] - }, - "functionSelector": "18160ddd", - "id": 2324, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "2282:11:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2315, - "nodeType": "ParameterList", - "parameters": [], - "src": "2293:2:13" - }, - "returnParameters": { - "id": 2318, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2317, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2324, - "src": "2317:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2317:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2316:9:13" - }, - "scope": 2666, - "src": "2273:99:13", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2348, - "nodeType": "Block", - "src": "2547:160:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2332, - "name": "wowneroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "2571:14:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2565:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2330, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2565:5:13", - "typeDescriptions": {} - } - }, - "id": 2333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2565:21:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2565:28:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2596:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2565:32:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "576f776e65726f2061646472657373206d7573742062652070726f76696465642e", - "id": 2337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2599:35:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f4098defdaf49c521e40bcc07b218eb677ee092c8509d09a956f0f646d82d775", - "typeString": "literal_string \"Wownero address must be provided.\"" - }, - "value": "Wownero address must be provided." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f4098defdaf49c521e40bcc07b218eb677ee092c8509d09a956f0f646d82d775", - "typeString": "literal_string \"Wownero address must be provided.\"" - } - ], - "id": 2329, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2557:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2557:78:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2339, - "nodeType": "ExpressionStatement", - "src": "2557:78:13" - }, - { - "expression": { - "id": 2346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2340, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "2645:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2343, - "indexExpression": { - "expression": { - "id": 2341, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "2657:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2657:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2645:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "wowneroAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2206, - "src": "2645:38:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2345, - "name": "wowneroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "2686:14:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2645:55:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2347, - "nodeType": "ExpressionStatement", - "src": "2645:55:13" - } - ] - }, - "functionSelector": "afb5d0d4", - "id": 2349, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setUserWowneroAddress", - "nameLocation": "2486:21:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2326, - "mutability": "mutable", - "name": "wowneroAddress", - "nameLocation": "2522:14:13", - "nodeType": "VariableDeclaration", - "scope": 2349, - "src": "2508:28:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2325, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2508:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2507:30:13" - }, - "returnParameters": { - "id": 2328, - "nodeType": "ParameterList", - "parameters": [], - "src": "2547:0:13" - }, - "scope": 2666, - "src": "2477:230:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2373, - "nodeType": "Block", - "src": "2802:131:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2357, - "name": "handle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2351, - "src": "2826:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2820:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2355, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2820:5:13", - "typeDescriptions": {} - } - }, - "id": 2358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2820:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2820:20:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2843:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2820:24:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "48616e646c65206d7573742062652070726f76696465642e", - "id": 2362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2846:26:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_21a2bd84f525b57b2bd4b3f6b743df9f9213982ad992fcaf15e493982ae38e96", - "typeString": "literal_string \"Handle must be provided.\"" - }, - "value": "Handle must be provided." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_21a2bd84f525b57b2bd4b3f6b743df9f9213982ad992fcaf15e493982ae38e96", - "typeString": "literal_string \"Handle must be provided.\"" - } - ], - "id": 2354, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2812:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2812:61:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2364, - "nodeType": "ExpressionStatement", - "src": "2812:61:13" - }, - { - "expression": { - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2365, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "2883:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2368, - "indexExpression": { - "expression": { - "id": 2366, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "2895:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2895:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2883:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2369, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "userHandle", - "nodeType": "MemberAccess", - "referencedDeclaration": 2208, - "src": "2883:34:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2370, - "name": "handle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2351, - "src": "2920:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2883:43:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2372, - "nodeType": "ExpressionStatement", - "src": "2883:43:13" - } - ] - }, - "functionSelector": "849cac9a", - "id": 2374, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setUserHandle", - "nameLocation": "2757:13:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2352, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2351, - "mutability": "mutable", - "name": "handle", - "nameLocation": "2785:6:13", - "nodeType": "VariableDeclaration", - "scope": 2374, - "src": "2771:20:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2350, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2771:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2770:22:13" - }, - "returnParameters": { - "id": 2353, - "nodeType": "ParameterList", - "parameters": [], - "src": "2802:0:13" - }, - "scope": 2666, - "src": "2748:185:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2398, - "nodeType": "Block", - "src": "3060:169:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2382, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2376, - "src": "3084:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3078:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2380, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3078:5:13", - "typeDescriptions": {} - } - }, - "id": 2383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3078:23:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3078:30:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3111:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3078:34:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4d6574616461746120495046532068617368206d7573742062652070726f76696465642e", - "id": 2387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3114:38:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_03ee8be836a49cc259f22bfabefff5c991e1cbde6e64aca1450d31fe70525e94", - "typeString": "literal_string \"Metadata IPFS hash must be provided.\"" - }, - "value": "Metadata IPFS hash must be provided." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_03ee8be836a49cc259f22bfabefff5c991e1cbde6e64aca1450d31fe70525e94", - "typeString": "literal_string \"Metadata IPFS hash must be provided.\"" - } - ], - "id": 2379, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3070:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3070:83:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2389, - "nodeType": "ExpressionStatement", - "src": "3070:83:13" - }, - { - "expression": { - "id": 2396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2390, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "3163:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2393, - "indexExpression": { - "expression": { - "id": 2391, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3175:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3175:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3163:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2394, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "metadataIPFSHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2210, - "src": "3163:40:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2395, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2376, - "src": "3206:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3163:59:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2397, - "nodeType": "ExpressionStatement", - "src": "3163:59:13" - } - ] - }, - "functionSelector": "fab12291", - "id": 2399, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setUserMetadata", - "nameLocation": "3003:15:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2376, - "mutability": "mutable", - "name": "metadataIPFSHash", - "nameLocation": "3033:16:13", - "nodeType": "VariableDeclaration", - "scope": 2399, - "src": "3019:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2375, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3019:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3018:32:13" - }, - "returnParameters": { - "id": 2378, - "nodeType": "ParameterList", - "parameters": [], - "src": "3060:0:13" - }, - "scope": 2666, - "src": "2994:235:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2481, - "nodeType": "Block", - "src": "3427:1026:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 2409, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "3451:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3445:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2407, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3445:5:13", - "typeDescriptions": {} - } - }, - "id": 2410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3445:23:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3445:30:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3478:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3445:34:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4d65746164617461204950465320686173682063616e6e6f7420626520656d7074792e", - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3481:37:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ff8cb15b09afd61e4d6715a8197b8bbc3c85f956b419f000f4d0b394da5d25f2", - "typeString": "literal_string \"Metadata IPFS hash cannot be empty.\"" - }, - "value": "Metadata IPFS hash cannot be empty." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ff8cb15b09afd61e4d6715a8197b8bbc3c85f956b419f000f4d0b394da5d25f2", - "typeString": "literal_string \"Metadata IPFS hash cannot be empty.\"" - } - ], - "id": 2406, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3437:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3437:82:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2416, - "nodeType": "ExpressionStatement", - "src": "3437:82:13" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 2418, - "name": "metadataTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2233, - "src": "3537:15:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string memory => uint256)" - } - }, - "id": 2420, - "indexExpression": { - "id": 2419, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "3553:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3537:33:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3574:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3537:38:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54686174206d65746164617461204950465320686173682068617320616c7265616479206265656e207265666572656e6365642e", - "id": 2423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3577:54:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4233d5d63bdd09b4bd1359ce07db729b14fafbc4753fff49e6f84cc9741224d0", - "typeString": "literal_string \"That metadata IPFS hash has already been referenced.\"" - }, - "value": "That metadata IPFS hash has already been referenced." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4233d5d63bdd09b4bd1359ce07db729b14fafbc4753fff49e6f84cc9741224d0", - "typeString": "literal_string \"That metadata IPFS hash has already been referenced.\"" - } - ], - "id": 2417, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3529:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3529:103:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2425, - "nodeType": "ExpressionStatement", - "src": "3529:103:13" - }, - { - "assignments": [ - 2427 - ], - "declarations": [ - { - "constant": false, - "id": 2427, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3650:7:13", - "nodeType": "VariableDeclaration", - "scope": 2481, - "src": "3642:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2426, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3642:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2432, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2428, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2324, - "src": "3660:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3660:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 2430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3676:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3660:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3642:35:13" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 2434, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3711:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3711:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2436, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "3723:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2433, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 599, - 628 - ], - "referencedDeclaration": 599, - "src": "3701:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3701:30:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2438, - "nodeType": "ExpressionStatement", - "src": "3701:30:13" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2439, - "name": "_tokenSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "3741:12:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1549_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 2441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "increment", - "nodeType": "MemberAccess", - "referencedDeclaration": 1575, - "src": "3741:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1549_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1549_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3741:24:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2443, - "nodeType": "ExpressionStatement", - "src": "3741:24:13" - }, - { - "expression": { - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2444, - "name": "metadataTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2233, - "src": "3843:15:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$", - "typeString": "mapping(string memory => uint256)" - } - }, - "id": 2446, - "indexExpression": { - "id": 2445, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "3859:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3843:33:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2447, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "3879:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3843:43:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2449, - "nodeType": "ExpressionStatement", - "src": "3843:43:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2456, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "4004:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2450, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "3960:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2453, - "indexExpression": { - "expression": { - "id": 2451, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3972:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3972:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3960:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "memesPublished", - "nodeType": "MemberAccess", - "referencedDeclaration": 2215, - "src": "3960:38:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "3960:43:13", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer,uint256)" - } - }, - "id": 2457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3960:52:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2458, - "nodeType": "ExpressionStatement", - "src": "3960:52:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2464, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "4127:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2459, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "4081:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2461, - "indexExpression": { - "id": 2460, - "name": "creatorAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2403, - "src": "4093:14:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4081:27:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "memesCreated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2218, - "src": "4081:40:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "4081:45:13", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer,uint256)" - } - }, - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4081:54:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2466, - "nodeType": "ExpressionStatement", - "src": "4081:54:13" - }, - { - "expression": { - "id": 2479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2467, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "4188:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2469, - "indexExpression": { - "id": 2468, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2427, - "src": "4198:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4188:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 2471, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4244:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4244:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2473, - "name": "creatorAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2403, - "src": "4282:14:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2474, - "name": "metadataIPFSHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2401, - "src": "4326:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "hexValue": "30", - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4373:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 2476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4403:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4434:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2470, - "name": "Meme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2204, - "src": "4209:4:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Meme_$2204_storage_ptr_$", - "typeString": "type(struct SuchWowX.Meme storage pointer)" - } - }, - "id": 2478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "publisherAddress", - "creatorAddress", - "metadataIPFSHash", - "publisherTipsAVAX", - "creatorTipsAVAX", - "contractTipsAVAX" - ], - "nodeType": "FunctionCall", - "src": "4209:237:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_memory_ptr", - "typeString": "struct SuchWowX.Meme memory" - } - }, - "src": "4188:258:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2480, - "nodeType": "ExpressionStatement", - "src": "4188:258:13" - } - ] - }, - "functionSelector": "1c351a9d", - "id": 2482, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nameLocation": "3357:4:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2404, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2401, - "mutability": "mutable", - "name": "metadataIPFSHash", - "nameLocation": "3376:16:13", - "nodeType": "VariableDeclaration", - "scope": 2482, - "src": "3362:30:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2400, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3362:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2403, - "mutability": "mutable", - "name": "creatorAddress", - "nameLocation": "3402:14:13", - "nodeType": "VariableDeclaration", - "scope": 2482, - "src": "3394:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2402, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3394:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3361:56:13" - }, - "returnParameters": { - "id": 2405, - "nodeType": "ParameterList", - "parameters": [], - "src": "3427:0:13" - }, - "scope": 2666, - "src": "3348:1105:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2632, - "nodeType": "Block", - "src": "4593:1317:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2488, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "4611:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2489, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2324, - "src": "4622:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 2490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4622:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4611:24:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "43616e6e6f7420746970206e6f6e2d6578697374656e7420746f6b656e2e", - "id": 2492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4637:32:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac81a2d3b21557bc2abd29901590718faad8da05d30612a4fed35f4bc846acd5", - "typeString": "literal_string \"Cannot tip non-existent token.\"" - }, - "value": "Cannot tip non-existent token." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac81a2d3b21557bc2abd29901590718faad8da05d30612a4fed35f4bc846acd5", - "typeString": "literal_string \"Cannot tip non-existent token.\"" - } - ], - "id": 2487, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4603:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4603:67:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2494, - "nodeType": "ExpressionStatement", - "src": "4603:67:13" - }, - { - "assignments": [ - 2496 - ], - "declarations": [ - { - "constant": false, - "id": 2496, - "mutability": "mutable", - "name": "hundo", - "nameLocation": "4755:5:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "4747:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4747:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2498, - "initialValue": { - "hexValue": "313030", - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4763:3:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4747:19:13" - }, - { - "assignments": [ - 2500 - ], - "declarations": [ - { - "constant": false, - "id": 2500, - "mutability": "mutable", - "name": "contractTipAmount", - "nameLocation": "4784:17:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "4776:25:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4776:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2509, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 2506, - "name": "contractTipCutPercent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "4828:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2504, - "name": "hundo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2496, - "src": "4818:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 2077, - "src": "4818:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4818:32:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "id": 2501, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4804:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "4804:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 2077, - "src": "4804:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4804:47:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4776:75:13" - }, - { - "assignments": [ - 2511 - ], - "declarations": [ - { - "constant": false, - "id": 2511, - "mutability": "mutable", - "name": "publisherTipAmount", - "nameLocation": "4869:18:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "4861:26:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4861:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2520, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 2517, - "name": "publisherTipCutPercent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2245, - "src": "4914:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2515, - "name": "hundo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2496, - "src": "4904:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 2077, - "src": "4904:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4904:33:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "id": 2512, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4890:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "4890:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 2077, - "src": "4890:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4890:48:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4861:77:13" - }, - { - "assignments": [ - 2522 - ], - "declarations": [ - { - "constant": false, - "id": 2522, - "mutability": "mutable", - "name": "creatorTipAmount", - "nameLocation": "4956:16:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "4948:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2521, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4948:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2531, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 2528, - "name": "publisherTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2511, - "src": "5011:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2526, - "name": "contractTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2500, - "src": "4989:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2032, - "src": "4989:21:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4989:41:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "id": 2523, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4975:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "4975:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2047, - "src": "4975:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4975:56:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4948:83:13" - }, - { - "assignments": [ - 2533 - ], - "declarations": [ - { - "constant": false, - "id": 2533, - "mutability": "mutable", - "name": "creator", - "nameLocation": "5083:7:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "5075:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5075:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2538, - "initialValue": { - "expression": { - "baseExpression": { - "id": 2534, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5093:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2536, - "indexExpression": { - "id": 2535, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5103:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5093:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creatorAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2201, - "src": "5093:33:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5075:51:13" - }, - { - "assignments": [ - 2540 - ], - "declarations": [ - { - "constant": false, - "id": 2540, - "mutability": "mutable", - "name": "publisher", - "nameLocation": "5144:9:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "5136:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2539, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5136:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2545, - "initialValue": { - "expression": { - "baseExpression": { - "id": 2541, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5156:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2543, - "indexExpression": { - "id": 2542, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5166:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5156:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2544, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "publisherAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2199, - "src": "5156:35:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5136:55:13" - }, - { - "assignments": [ - 2547 - ], - "declarations": [ - { - "constant": false, - "id": 2547, - "mutability": "mutable", - "name": "ctrct", - "nameLocation": "5209:5:13", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "5201:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2546, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5201:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2552, - "initialValue": { - "arguments": [ - { - "id": 2550, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "5225:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SuchWowX_$2666", - "typeString": "contract SuchWowX" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_SuchWowX_$2666", - "typeString": "contract SuchWowX" - } - ], - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5217:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2548, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5217:7:13", - "typeDescriptions": {} - } - }, - "id": 2551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5217:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5201:29:13" - }, - { - "expression": { - "id": 2567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2553, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "5308:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2556, - "indexExpression": { - "expression": { - "id": 2554, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5320:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5320:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5308:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tippedAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2212, - "src": "5308:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 2564, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5384:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "5384:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2558, - "name": "userProfile", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2229, - "src": "5345:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$2219_storage_$", - "typeString": "mapping(address => struct SuchWowX.User storage ref)" - } - }, - "id": 2561, - "indexExpression": { - "expression": { - "id": 2559, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5357:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5357:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5345:23:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$2219_storage", - "typeString": "struct SuchWowX.User storage ref" - } - }, - "id": 2562, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tippedAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2212, - "src": "5345:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2032, - "src": "5345:38:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5345:49:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5308:86:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2568, - "nodeType": "ExpressionStatement", - "src": "5308:86:13" - }, - { - "expression": { - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2569, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5404:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2571, - "indexExpression": { - "id": 2570, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5414:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5404:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2572, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creatorTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2195, - "src": "5404:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2578, - "name": "creatorTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2522, - "src": "5480:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2573, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5441:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2575, - "indexExpression": { - "id": 2574, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5451:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5441:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2576, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creatorTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2195, - "src": "5441:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2032, - "src": "5441:38:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5441:56:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5404:93:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2581, - "nodeType": "ExpressionStatement", - "src": "5404:93:13" - }, - { - "expression": { - "id": 2593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2582, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5507:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2584, - "indexExpression": { - "id": 2583, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5517:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5507:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2585, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "publisherTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2193, - "src": "5507:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2591, - "name": "publisherTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2511, - "src": "5587:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2586, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5546:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2588, - "indexExpression": { - "id": 2587, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5556:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5546:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2589, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "publisherTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2193, - "src": "5546:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2032, - "src": "5546:40:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5546:60:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5507:99:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2594, - "nodeType": "ExpressionStatement", - "src": "5507:99:13" - }, - { - "expression": { - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 2595, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5616:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2597, - "indexExpression": { - "id": 2596, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5626:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5616:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "contractTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2197, - "src": "5616:35:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2604, - "name": "contractTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2500, - "src": "5694:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "baseExpression": { - "id": 2599, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "5654:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2601, - "indexExpression": { - "id": 2600, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2484, - "src": "5664:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5654:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contractTipsAVAX", - "nodeType": "MemberAccess", - "referencedDeclaration": 2197, - "src": "5654:35:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2032, - "src": "5654:39:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5654:58:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5616:96:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2607, - "nodeType": "ExpressionStatement", - "src": "5616:96:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2613, - "name": "creatorTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2522, - "src": "5777:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2610, - "name": "creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2533, - "src": "5759:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5751:8:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 2608, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5751:8:13", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 2611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5751:16:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "src": "5751:25:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5751:43:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2615, - "nodeType": "ExpressionStatement", - "src": "5751:43:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2621, - "name": "publisherTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2511, - "src": "5832:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2618, - "name": "publisher", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2540, - "src": "5812:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5804:8:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 2616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5804:8:13", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 2619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5804:18:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "src": "5804:27:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5804:47:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2623, - "nodeType": "ExpressionStatement", - "src": "5804:47:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2629, - "name": "contractTipAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2500, - "src": "5885:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2626, - "name": "ctrct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2547, - "src": "5869:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5861:8:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 2624, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5861:8:13", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5861:14:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "src": "5861:23:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5861:42:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2631, - "nodeType": "ExpressionStatement", - "src": "5861:42:13" - } - ] - }, - "functionSelector": "25a80b3d", - "id": 2633, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tipAVAX", - "nameLocation": "4553:7:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2484, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4569:7:13", - "nodeType": "VariableDeclaration", - "scope": 2633, - "src": "4561:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2483, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4561:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4560:17:13" - }, - "returnParameters": { - "id": 2486, - "nodeType": "ParameterList", - "parameters": [], - "src": "4593:0:13" - }, - "scope": 2666, - "src": "4544:1366:13", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 312, - 1144 - ], - "body": { - "id": 2655, - "nodeType": "Block", - "src": "6109:151:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "697066733a2f2f", - "id": 2647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6205:9:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe", - "typeString": "literal_string \"ipfs://\"" - }, - "value": "ipfs://" - }, - { - "expression": { - "baseExpression": { - "id": 2648, - "name": "tokenMeme", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2224, - "src": "6216:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Meme_$2204_storage_$", - "typeString": "mapping(uint256 => struct SuchWowX.Meme storage ref)" - } - }, - "id": 2650, - "indexExpression": { - "id": 2649, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2635, - "src": "6226:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6216:18:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Meme_$2204_storage", - "typeString": "struct SuchWowX.Meme storage ref" - } - }, - "id": 2651, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "metadataIPFSHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 2203, - "src": "6216:35:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe", - "typeString": "literal_string \"ipfs://\"" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "expression": { - "id": 2645, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "6188:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "6188:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6188:64:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6181:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2643, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6181:6:13", - "typeDescriptions": {} - } - }, - "id": 2653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6181:72:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 2642, - "id": 2654, - "nodeType": "Return", - "src": "6174:79:13" - } - ] - }, - "functionSelector": "c87b56dd", - "id": 2656, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "5976:8:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2639, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 2637, - "name": "ERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 935, - "src": "6047:6:13" - }, - { - "id": 2638, - "name": "ERC721URIStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1197, - "src": "6055:16:13" - } - ], - "src": "6038:34:13" - }, - "parameters": { - "id": 2636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2635, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5993:7:13", - "nodeType": "VariableDeclaration", - "scope": 2656, - "src": "5985:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5985:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5984:17:13" - }, - "returnParameters": { - "id": 2642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2641, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2656, - "src": "6090:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2640, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6090:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6089:15:13" - }, - "scope": 2666, - "src": "5967:293:13", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 736, - 1196 - ], - "body": { - "id": 2664, - "nodeType": "Block", - "src": "6362:34:13", - "statements": [] - }, - "id": 2665, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "6275:5:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2662, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 2660, - "name": "ERC721", - "nodeType": "IdentifierPath", - "referencedDeclaration": 935, - "src": "6332:6:13" - }, - { - "id": 2661, - "name": "ERC721URIStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1197, - "src": "6340:16:13" - } - ], - "src": "6323:34:13" - }, - "parameters": { - "id": 2659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2658, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "6289:7:13", - "nodeType": "VariableDeclaration", - "scope": 2665, - "src": "6281:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6281:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6280:17:13" - }, - "returnParameters": { - "id": 2663, - "nodeType": "ParameterList", - "parameters": [], - "src": "6362:0:13" - }, - "scope": 2666, - "src": "6266:130:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2667, - "src": "360:6038:13", - "usedErrors": [] - } - ], - "src": "32:6367:13" - }, - "compiler": { - "name": "solc", - "version": "0.8.11+commit.d7f03943.Emscripten.clang" - }, - "networks": { - "1": { - "events": {}, - "links": {}, - "address": "0x4CB47909E914501C856Ccb8a158bdFDFedF610de", - "transactionHash": "0x9e23cdbcdaa7facde5e9f34c5988d5dcfb9a92d49eac4caae42fe3740785c1de" - } - }, - "schemaVersion": "3.4.4", - "updatedAt": "2021-12-29T22:52:10.698Z", - "devdoc": { - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file