From a82c4e319744b867949e0d1e46c5fd5188d280a5 Mon Sep 17 00:00:00 2001 From: snsd0805 Date: Sun, 4 Jun 2023 23:15:28 +0800 Subject: [PATCH] fix: remove build files --- .gitignore | 3 +- build/contracts/Address.json | 4386 ---- build/contracts/Base64.json | 1605 -- build/contracts/Context.json | 272 - build/contracts/Counters.json | 879 - build/contracts/ERC165.json | 344 - build/contracts/ERC721.json | 27738 ------------------------- build/contracts/IERC165.json | 196 - build/contracts/IERC721.json | 1711 -- build/contracts/IERC721Metadata.json | 713 - build/contracts/IERC721Receiver.json | 295 - build/contracts/Math.json | 11708 ----------- build/contracts/OnChainSVG.json | 2526 --- build/contracts/SignedMath.json | 1355 -- build/contracts/SoulboundToken.json | 19981 ------------------ build/contracts/Strings.json | 3184 --- 16 files changed, 2 insertions(+), 76894 deletions(-) delete mode 100644 build/contracts/Address.json delete mode 100644 build/contracts/Base64.json delete mode 100644 build/contracts/Context.json delete mode 100644 build/contracts/Counters.json delete mode 100644 build/contracts/ERC165.json delete mode 100644 build/contracts/ERC721.json delete mode 100644 build/contracts/IERC165.json delete mode 100644 build/contracts/IERC721.json delete mode 100644 build/contracts/IERC721Metadata.json delete mode 100644 build/contracts/IERC721Receiver.json delete mode 100644 build/contracts/Math.json delete mode 100644 build/contracts/OnChainSVG.json delete mode 100644 build/contracts/SignedMath.json delete mode 100644 build/contracts/SoulboundToken.json delete mode 100644 build/contracts/Strings.json diff --git a/.gitignore b/.gitignore index 1dcef2d..ba81622 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules -.env \ No newline at end of file +.env +build \ No newline at end of file diff --git a/build/contracts/Address.json b/build/contracts/Address.json deleted file mode 100644 index 248f93c..0000000 --- a/build/contracts/Address.json +++ /dev/null @@ -1,4386 +0,0 @@ -{ - "contractName": "Address", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}", - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220806f5d769291c713663b0da9395ea2324347495b2b7610341add22a7c5d4e75a64736f6c63430008130033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220806f5d769291c713663b0da9395ea2324347495b2b7610341add22a7c5d4e75a64736f6c63430008130033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "194:9169:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "194:9169:4:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\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 * Furthermore, `isContract` will also return true if the target contract within\n * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n * which only has an effect at the end of a transaction.\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 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://consensys.net/diligence/blog/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.8.0/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 functionCallWithValue(target, data, 0, \"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(address target, bytes memory data, uint256 value) 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 (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, 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 (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, 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 (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n *\n * _Available since v4.8._\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n if (success) {\n if (returndata.length == 0) {\n // only check isContract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n require(isContract(target), \"Address: call to non-contract\");\n }\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason or 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 _revert(returndata, errorMessage);\n }\n }\n\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\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 /// @solidity memory-safe-assembly\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", - "sourcePath": "@openzeppelin/contracts/utils/Address.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 1417 - ] - }, - "id": 1418, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1089, - "literals": [ - "solidity", - "^", - "0.8", - ".1" - ], - "nodeType": "PragmaDirective", - "src": "101:23:4" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Address", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1090, - "nodeType": "StructuredDocumentation", - "src": "126:67:4", - "text": " @dev Collection of functions related to the address type" - }, - "fullyImplemented": true, - "id": 1417, - "linearizedBaseContracts": [ - 1417 - ], - "name": "Address", - "nameLocation": "202:7:4", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1104, - "nodeType": "Block", - "src": "1478:254:4", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 1098, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1093, - "src": "1702:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1710:4:4", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "1702:12:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1715:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1702:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1724:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1702:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1097, - "id": 1103, - "nodeType": "Return", - "src": "1695:30:4" - } - ] - }, - "documentation": { - "id": 1091, - "nodeType": "StructuredDocumentation", - "src": "216:1191:4", - "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 Furthermore, `isContract` will also return true if the target contract within\n the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n which only has an effect at the end of a transaction.\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ====" - }, - "id": 1105, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nameLocation": "1421:10:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1093, - "mutability": "mutable", - "name": "account", - "nameLocation": "1440:7:4", - "nodeType": "VariableDeclaration", - "scope": 1105, - "src": "1432:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1092, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1432:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1431:17:4" - }, - "returnParameters": { - "id": 1097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1096, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1105, - "src": "1472:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1095, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1472:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1471:6:4" - }, - "scope": 1417, - "src": "1412:320:4", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1138, - "nodeType": "Block", - "src": "2718:241:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1116, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "2744:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1417", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$1417", - "typeString": "library Address" - } - ], - "id": 1115, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2736:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2736:7:4", - "typeDescriptions": {} - } - }, - "id": 1117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2736:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2750:7:4", - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "2736:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1119, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "2761:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2736:31:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 1121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2769:31:4", - "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": 1113, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2728:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2728:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1123, - "nodeType": "ExpressionStatement", - "src": "2728:73:4" - }, - { - "assignments": [ - 1125, - null - ], - "declarations": [ - { - "constant": false, - "id": 1125, - "mutability": "mutable", - "name": "success", - "nameLocation": "2818:7:4", - "nodeType": "VariableDeclaration", - "scope": 1138, - "src": "2813:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1124, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2813:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 1132, - "initialValue": { - "arguments": [ - { - "hexValue": "", - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2861:2:4", - "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": 1126, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "2831:9:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2841:4:4", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "2831:14:4", - "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": 1129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 1128, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "2853:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2831:29:4", - "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": 1131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2831:33:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2812:52:4" - }, - { - "expression": { - "arguments": [ - { - "id": 1134, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1125, - "src": "2882:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 1135, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2891:60:4", - "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": 1133, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2874:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2874:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1137, - "nodeType": "ExpressionStatement", - "src": "2874:78:4" - } - ] - }, - "documentation": { - "id": 1106, - "nodeType": "StructuredDocumentation", - "src": "1738:904:4", - "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://consensys.net/diligence/blog/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.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." - }, - "id": 1139, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendValue", - "nameLocation": "2656:9:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1108, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "2682:9:4", - "nodeType": "VariableDeclaration", - "scope": 1139, - "src": "2666:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2666:15:4", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1110, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2701:6:4", - "nodeType": "VariableDeclaration", - "scope": 1139, - "src": "2693:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1109, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2693:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2665:43:4" - }, - "returnParameters": { - "id": 1112, - "nodeType": "ParameterList", - "parameters": [], - "src": "2718:0:4" - }, - "scope": 1417, - "src": "2647:312:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1156, - "nodeType": "Block", - "src": "3790:96:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1150, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "3829:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1151, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "3837:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "30", - "id": 1152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3843:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 1153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3846:32:4", - "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_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - } - ], - "id": 1149, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1197, - 1241 - ], - "referencedDeclaration": 1241, - "src": "3807:21:4", - "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": 1154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3807:72:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1148, - "id": 1155, - "nodeType": "Return", - "src": "3800:79:4" - } - ] - }, - "documentation": { - "id": 1140, - "nodeType": "StructuredDocumentation", - "src": "2965:731:4", - "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": 1157, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nameLocation": "3710:12:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1142, - "mutability": "mutable", - "name": "target", - "nameLocation": "3731:6:4", - "nodeType": "VariableDeclaration", - "scope": 1157, - "src": "3723:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1141, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3723:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1144, - "mutability": "mutable", - "name": "data", - "nameLocation": "3752:4:4", - "nodeType": "VariableDeclaration", - "scope": 1157, - "src": "3739:17:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1143, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3739:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3722:35:4" - }, - "returnParameters": { - "id": 1148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1147, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1157, - "src": "3776:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1146, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3776:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3775:14:4" - }, - "scope": 1417, - "src": "3701:185:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1176, - "nodeType": "Block", - "src": "4255:76:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1170, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1160, - "src": "4294:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1171, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1162, - "src": "4302:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "30", - "id": 1172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4308:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 1173, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1164, - "src": "4311:12:4", - "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": 1169, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1197, - 1241 - ], - "referencedDeclaration": 1241, - "src": "4272:21:4", - "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": 1174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4272:52:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1168, - "id": 1175, - "nodeType": "Return", - "src": "4265:59:4" - } - ] - }, - "documentation": { - "id": 1158, - "nodeType": "StructuredDocumentation", - "src": "3892:211:4", - "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": 1177, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nameLocation": "4117:12:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1160, - "mutability": "mutable", - "name": "target", - "nameLocation": "4147:6:4", - "nodeType": "VariableDeclaration", - "scope": 1177, - "src": "4139:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1159, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4139:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1162, - "mutability": "mutable", - "name": "data", - "nameLocation": "4176:4:4", - "nodeType": "VariableDeclaration", - "scope": 1177, - "src": "4163:17:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1161, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4163:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1164, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "4204:12:4", - "nodeType": "VariableDeclaration", - "scope": 1177, - "src": "4190:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1163, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4190:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4129:93:4" - }, - "returnParameters": { - "id": 1168, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1167, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1177, - "src": "4241:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1166, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4241:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4240:14:4" - }, - "scope": 1417, - "src": "4108:223:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1196, - "nodeType": "Block", - "src": "4806:111:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1190, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "4845:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1191, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1182, - "src": "4853:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1192, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "4859:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 1193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4866:43:4", - "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": 1189, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1197, - 1241 - ], - "referencedDeclaration": 1241, - "src": "4823:21:4", - "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": 1194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4823:87:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1188, - "id": 1195, - "nodeType": "Return", - "src": "4816:94:4" - } - ] - }, - "documentation": { - "id": 1178, - "nodeType": "StructuredDocumentation", - "src": "4337:351:4", - "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": 1197, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nameLocation": "4702:21:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1180, - "mutability": "mutable", - "name": "target", - "nameLocation": "4732:6:4", - "nodeType": "VariableDeclaration", - "scope": 1197, - "src": "4724:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1179, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4724:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1182, - "mutability": "mutable", - "name": "data", - "nameLocation": "4753:4:4", - "nodeType": "VariableDeclaration", - "scope": 1197, - "src": "4740:17:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1181, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4740:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1184, - "mutability": "mutable", - "name": "value", - "nameLocation": "4767:5:4", - "nodeType": "VariableDeclaration", - "scope": 1197, - "src": "4759:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1183, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4759:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4723:50:4" - }, - "returnParameters": { - "id": 1188, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1187, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1197, - "src": "4792:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1186, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4792:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4791:14:4" - }, - "scope": 1417, - "src": "4693:224:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1240, - "nodeType": "Block", - "src": "5344:267:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1214, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "5370:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1417", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$1417", - "typeString": "library Address" - } - ], - "id": 1213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5362:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5362:7:4", - "typeDescriptions": {} - } - }, - "id": 1215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5362:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5376:7:4", - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "5362:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1217, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1204, - "src": "5387:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5362:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 1219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5394:40:4", - "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": 1211, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5354:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5354:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1221, - "nodeType": "ExpressionStatement", - "src": "5354:81:4" - }, - { - "assignments": [ - 1223, - 1225 - ], - "declarations": [ - { - "constant": false, - "id": 1223, - "mutability": "mutable", - "name": "success", - "nameLocation": "5451:7:4", - "nodeType": "VariableDeclaration", - "scope": 1240, - "src": "5446:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1222, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5446:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1225, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "5473:10:4", - "nodeType": "VariableDeclaration", - "scope": 1240, - "src": "5460:23:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1224, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5460:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1232, - "initialValue": { - "arguments": [ - { - "id": 1230, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1202, - "src": "5513:4:4", - "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": 1226, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1200, - "src": "5487:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5494:4:4", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5487:11:4", - "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": 1229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 1228, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1204, - "src": "5506:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5487:25:4", - "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": 1231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5487:31:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5445:73:4" - }, - { - "expression": { - "arguments": [ - { - "id": 1234, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1200, - "src": "5562:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1235, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1223, - "src": "5570:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1236, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "5579:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1237, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1206, - "src": "5591:12:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1233, - "name": "verifyCallResultFromTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "5535:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" - } - }, - "id": 1238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5535:69:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1210, - "id": 1239, - "nodeType": "Return", - "src": "5528:76:4" - } - ] - }, - "documentation": { - "id": 1198, - "nodeType": "StructuredDocumentation", - "src": "4923:237:4", - "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": 1241, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nameLocation": "5174:21:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1200, - "mutability": "mutable", - "name": "target", - "nameLocation": "5213:6:4", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "5205:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5205:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1202, - "mutability": "mutable", - "name": "data", - "nameLocation": "5242:4:4", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "5229:17:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1201, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5229:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1204, - "mutability": "mutable", - "name": "value", - "nameLocation": "5264:5:4", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "5256:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5256:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1206, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "5293:12:4", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "5279:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1205, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5279:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "5195:116:4" - }, - "returnParameters": { - "id": 1210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1209, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "5330:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1208, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5330:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5329:14:4" - }, - "scope": 1417, - "src": "5165:446:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1257, - "nodeType": "Block", - "src": "5888:97:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1252, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1244, - "src": "5924:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1253, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1246, - "src": "5932:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", - "id": 1254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5938:39:4", - "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": 1251, - "name": "functionStaticCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1258, - 1287 - ], - "referencedDeclaration": 1287, - "src": "5905:18:4", - "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": 1255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5905:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1250, - "id": 1256, - "nodeType": "Return", - "src": "5898:80:4" - } - ] - }, - "documentation": { - "id": 1242, - "nodeType": "StructuredDocumentation", - "src": "5617:166:4", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" - }, - "id": 1258, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nameLocation": "5797:18:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1244, - "mutability": "mutable", - "name": "target", - "nameLocation": "5824:6:4", - "nodeType": "VariableDeclaration", - "scope": 1258, - "src": "5816:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1243, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5816:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1246, - "mutability": "mutable", - "name": "data", - "nameLocation": "5845:4:4", - "nodeType": "VariableDeclaration", - "scope": 1258, - "src": "5832:17:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1245, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5832:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5815:35:4" - }, - "returnParameters": { - "id": 1250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1249, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1258, - "src": "5874:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1248, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5874:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5873:14:4" - }, - "scope": 1417, - "src": "5788:197:4", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1286, - "nodeType": "Block", - "src": "6327:168:4", - "statements": [ - { - "assignments": [ - 1271, - 1273 - ], - "declarations": [ - { - "constant": false, - "id": 1271, - "mutability": "mutable", - "name": "success", - "nameLocation": "6343:7:4", - "nodeType": "VariableDeclaration", - "scope": 1286, - "src": "6338:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1270, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6338:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1273, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "6365:10:4", - "nodeType": "VariableDeclaration", - "scope": 1286, - "src": "6352:23:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1272, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6352:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1278, - "initialValue": { - "arguments": [ - { - "id": 1276, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1263, - "src": "6397:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1274, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1261, - "src": "6379:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6386:10:4", - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "6379:17:4", - "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": 1277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6379:23:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6337:65:4" - }, - { - "expression": { - "arguments": [ - { - "id": 1280, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1261, - "src": "6446:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1281, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1271, - "src": "6454:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1282, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1273, - "src": "6463:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1283, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1265, - "src": "6475:12:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1279, - "name": "verifyCallResultFromTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "6419:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" - } - }, - "id": 1284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6419:69:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1269, - "id": 1285, - "nodeType": "Return", - "src": "6412:76:4" - } - ] - }, - "documentation": { - "id": 1259, - "nodeType": "StructuredDocumentation", - "src": "5991:173:4", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" - }, - "id": 1287, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nameLocation": "6178:18:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1261, - "mutability": "mutable", - "name": "target", - "nameLocation": "6214:6:4", - "nodeType": "VariableDeclaration", - "scope": 1287, - "src": "6206:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6206:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1263, - "mutability": "mutable", - "name": "data", - "nameLocation": "6243:4:4", - "nodeType": "VariableDeclaration", - "scope": 1287, - "src": "6230:17:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1262, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6230:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1265, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "6271:12:4", - "nodeType": "VariableDeclaration", - "scope": 1287, - "src": "6257:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1264, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6257:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6196:93:4" - }, - "returnParameters": { - "id": 1269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1268, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1287, - "src": "6313:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1267, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6313:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6312:14:4" - }, - "scope": 1417, - "src": "6169:326:4", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1303, - "nodeType": "Block", - "src": "6771:101:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1298, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1290, - "src": "6809:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1299, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1292, - "src": "6817:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "id": 1300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6823:41:4", - "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": 1297, - "name": "functionDelegateCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1304, - 1333 - ], - "referencedDeclaration": 1333, - "src": "6788:20:4", - "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": 1301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6788:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1296, - "id": 1302, - "nodeType": "Return", - "src": "6781:84:4" - } - ] - }, - "documentation": { - "id": 1288, - "nodeType": "StructuredDocumentation", - "src": "6501:168:4", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" - }, - "id": 1304, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nameLocation": "6683:20:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1290, - "mutability": "mutable", - "name": "target", - "nameLocation": "6712:6:4", - "nodeType": "VariableDeclaration", - "scope": 1304, - "src": "6704:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1289, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6704:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1292, - "mutability": "mutable", - "name": "data", - "nameLocation": "6733:4:4", - "nodeType": "VariableDeclaration", - "scope": 1304, - "src": "6720:17:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1291, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6720:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6703:35:4" - }, - "returnParameters": { - "id": 1296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1295, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1304, - "src": "6757:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1294, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6757:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6756:14:4" - }, - "scope": 1417, - "src": "6674:198:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1332, - "nodeType": "Block", - "src": "7213:170:4", - "statements": [ - { - "assignments": [ - 1317, - 1319 - ], - "declarations": [ - { - "constant": false, - "id": 1317, - "mutability": "mutable", - "name": "success", - "nameLocation": "7229:7:4", - "nodeType": "VariableDeclaration", - "scope": 1332, - "src": "7224:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1316, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7224:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1319, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "7251:10:4", - "nodeType": "VariableDeclaration", - "scope": 1332, - "src": "7238:23:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1318, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7238:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1324, - "initialValue": { - "arguments": [ - { - "id": 1322, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1309, - "src": "7285:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1320, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1307, - "src": "7265:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7272:12:4", - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "src": "7265:19:4", - "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": 1323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7265:25:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7223:67:4" - }, - { - "expression": { - "arguments": [ - { - "id": 1326, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1307, - "src": "7334:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1327, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1317, - "src": "7342:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1328, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "7351:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1329, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1311, - "src": "7363:12:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1325, - "name": "verifyCallResultFromTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "7307:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" - } - }, - "id": 1330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7307:69:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1315, - "id": 1331, - "nodeType": "Return", - "src": "7300:76:4" - } - ] - }, - "documentation": { - "id": 1305, - "nodeType": "StructuredDocumentation", - "src": "6878:175:4", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" - }, - "id": 1333, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nameLocation": "7067:20:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1307, - "mutability": "mutable", - "name": "target", - "nameLocation": "7105:6:4", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "7097:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1306, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7097:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1309, - "mutability": "mutable", - "name": "data", - "nameLocation": "7134:4:4", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "7121:17:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1308, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7121:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1311, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "7162:12:4", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "7148:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1310, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7148:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "7087:93:4" - }, - "returnParameters": { - "id": 1315, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1314, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "7199:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1313, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7199:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "7198:14:4" - }, - "scope": 1417, - "src": "7058:325:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1371, - "nodeType": "Block", - "src": "7865:434:4", - "statements": [ - { - "condition": { - "id": 1347, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "7879:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1369, - "nodeType": "Block", - "src": "8235:58:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1365, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "8257:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1366, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "8269:12:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1364, - "name": "_revert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1416, - "src": "8249:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bytes memory,string memory) pure" - } - }, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8249:33:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1368, - "nodeType": "ExpressionStatement", - "src": "8249:33:4" - } - ] - }, - "id": 1370, - "nodeType": "IfStatement", - "src": "7875:418:4", - "trueBody": { - "id": 1363, - "nodeType": "Block", - "src": "7888:341:4", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1348, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "7906:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7917:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "7906:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7927:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7906:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1360, - "nodeType": "IfStatement", - "src": "7902:286:4", - "trueBody": { - "id": 1359, - "nodeType": "Block", - "src": "7930:258:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1354, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1336, - "src": "8132:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1353, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "8121:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8121:18:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8141:31:4", - "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": 1352, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8113:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8113:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1358, - "nodeType": "ExpressionStatement", - "src": "8113:60:4" - } - ] - } - }, - { - "expression": { - "id": 1361, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "8208:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1346, - "id": 1362, - "nodeType": "Return", - "src": "8201:17:4" - } - ] - } - } - ] - }, - "documentation": { - "id": 1334, - "nodeType": "StructuredDocumentation", - "src": "7389:277:4", - "text": " @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._" - }, - "id": 1372, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verifyCallResultFromTarget", - "nameLocation": "7680:26:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1336, - "mutability": "mutable", - "name": "target", - "nameLocation": "7724:6:4", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "7716:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7716:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1338, - "mutability": "mutable", - "name": "success", - "nameLocation": "7745:7:4", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "7740:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1337, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7740:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1340, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "7775:10:4", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "7762:23:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1339, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7762:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1342, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "7809:12:4", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "7795:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1341, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7795:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "7706:121:4" - }, - "returnParameters": { - "id": 1346, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1345, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1372, - "src": "7851:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1344, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7851:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "7850:14:4" - }, - "scope": 1417, - "src": "7671:628:4", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1395, - "nodeType": "Block", - "src": "8680:135:4", - "statements": [ - { - "condition": { - "id": 1384, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "8694:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1393, - "nodeType": "Block", - "src": "8751:58:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1389, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1377, - "src": "8773:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1390, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1379, - "src": "8785:12:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1388, - "name": "_revert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1416, - "src": "8765:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bytes memory,string memory) pure" - } - }, - "id": 1391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8765:33:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1392, - "nodeType": "ExpressionStatement", - "src": "8765:33:4" - } - ] - }, - "id": 1394, - "nodeType": "IfStatement", - "src": "8690:119:4", - "trueBody": { - "id": 1387, - "nodeType": "Block", - "src": "8703:42:4", - "statements": [ - { - "expression": { - "id": 1385, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1377, - "src": "8724:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1383, - "id": 1386, - "nodeType": "Return", - "src": "8717:17:4" - } - ] - } - } - ] - }, - "documentation": { - "id": 1373, - "nodeType": "StructuredDocumentation", - "src": "8305:210:4", - "text": " @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._" - }, - "id": 1396, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verifyCallResult", - "nameLocation": "8529:16:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1375, - "mutability": "mutable", - "name": "success", - "nameLocation": "8560:7:4", - "nodeType": "VariableDeclaration", - "scope": 1396, - "src": "8555:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1374, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8555:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1377, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "8590:10:4", - "nodeType": "VariableDeclaration", - "scope": 1396, - "src": "8577:23:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1376, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8577:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1379, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "8624:12:4", - "nodeType": "VariableDeclaration", - "scope": 1396, - "src": "8610:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1378, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8610:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "8545:97:4" - }, - "returnParameters": { - "id": 1383, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1382, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1396, - "src": "8666:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1381, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8666:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8665:14:4" - }, - "scope": 1417, - "src": "8520:295:4", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1415, - "nodeType": "Block", - "src": "8904:457:4", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1403, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "8980:10:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8991:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8980:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9000:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8980:21:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1413, - "nodeType": "Block", - "src": "9310:45:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1410, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "9331:12:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1409, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "9324:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 1411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9324:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1412, - "nodeType": "ExpressionStatement", - "src": "9324:20:4" - } - ] - }, - "id": 1414, - "nodeType": "IfStatement", - "src": "8976:379:4", - "trueBody": { - "id": 1408, - "nodeType": "Block", - "src": "9003:301:4", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "9161:133:4", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9179:40:4", - "value": { - "arguments": [ - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "9208:10:4" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "9202:5:4" - }, - "nodeType": "YulFunctionCall", - "src": "9202:17:4" - }, - "variables": [ - { - "name": "returndata_size", - "nodeType": "YulTypedName", - "src": "9183:15:4", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9247:2:4", - "type": "", - "value": "32" - }, - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "9251:10:4" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9243:3:4" - }, - "nodeType": "YulFunctionCall", - "src": "9243:19:4" - }, - { - "name": "returndata_size", - "nodeType": "YulIdentifier", - "src": "9264:15:4" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9236:6:4" - }, - "nodeType": "YulFunctionCall", - "src": "9236:44:4" - }, - "nodeType": "YulExpressionStatement", - "src": "9236:44:4" - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 1398, - "isOffset": false, - "isSlot": false, - "src": "9208:10:4", - "valueSize": 1 - }, - { - "declaration": 1398, - "isOffset": false, - "isSlot": false, - "src": "9251:10:4", - "valueSize": 1 - } - ], - "id": 1407, - "nodeType": "InlineAssembly", - "src": "9152:142:4" - } - ] - } - } - ] - }, - "id": 1416, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revert", - "nameLocation": "8830:7:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1401, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1398, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "8851:10:4", - "nodeType": "VariableDeclaration", - "scope": 1416, - "src": "8838:23:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1397, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8838:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1400, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "8877:12:4", - "nodeType": "VariableDeclaration", - "scope": 1416, - "src": "8863:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1399, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8863:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "8837:53:4" - }, - "returnParameters": { - "id": 1402, - "nodeType": "ParameterList", - "parameters": [], - "src": "8904:0:4" - }, - "scope": 1417, - "src": "8821:540:4", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - } - ], - "scope": 1418, - "src": "194:9169:4", - "usedErrors": [] - } - ], - "src": "101:9263:4" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.984Z", - "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/build/contracts/Base64.json b/build/contracts/Base64.json deleted file mode 100644 index 9561904..0000000 --- a/build/contracts/Base64.json +++ /dev/null @@ -1,1605 +0,0 @@ -{ - "contractName": "Base64", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides a set of functions to operate with Base64 strings. _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_TABLE\":{\"details\":\"Base64 Encoding/Decoding Table\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Base64.sol\":\"Base64\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]}},\"version\":1}", - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207744a584dd8fe9d31aad2a217a1ff38234c3b1ab25144e315c6ce19377a893a764736f6c63430008130033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207744a584dd8fe9d31aad2a217a1ff38234c3b1ab25144e315c6ce19377a893a764736f6c63430008130033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "231:3302:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "231:3302:5:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (utils/Base64.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides a set of functions to operate with Base64 strings.\n *\n * _Available since v4.5._\n */\nlibrary Base64 {\n /**\n * @dev Base64 Encoding/Decoding Table\n */\n string internal constant _TABLE = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n /**\n * @dev Converts a `bytes` to its Bytes64 `string` representation.\n */\n function encode(bytes memory data) internal pure returns (string memory) {\n /**\n * Inspired by Brecht Devos (Brechtpd) implementation - MIT licence\n * https://github.com/Brechtpd/base64/blob/e78d9fd951e7b0977ddca77d92dc85183770daf4/base64.sol\n */\n if (data.length == 0) return \"\";\n\n // Loads the table into memory\n string memory table = _TABLE;\n\n // Encoding takes 3 bytes chunks of binary data from `bytes` data parameter\n // and split into 4 numbers of 6 bits.\n // The final Base64 length should be `bytes` data length multiplied by 4/3 rounded up\n // - `data.length + 2` -> Round up\n // - `/ 3` -> Number of 3-bytes chunks\n // - `4 *` -> 4 characters for each chunk\n string memory result = new string(4 * ((data.length + 2) / 3));\n\n /// @solidity memory-safe-assembly\n assembly {\n // Prepare the lookup table (skip the first \"length\" byte)\n let tablePtr := add(table, 1)\n\n // Prepare result pointer, jump over length\n let resultPtr := add(result, 32)\n\n // Run over the input, 3 bytes at a time\n for {\n let dataPtr := data\n let endPtr := add(data, mload(data))\n } lt(dataPtr, endPtr) {\n\n } {\n // Advance 3 bytes\n dataPtr := add(dataPtr, 3)\n let input := mload(dataPtr)\n\n // To write each character, shift the 3 bytes (18 bits) chunk\n // 4 times in blocks of 6 bits for each character (18, 12, 6, 0)\n // and apply logical AND with 0x3F which is the number of\n // the previous character in the ASCII table prior to the Base64 Table\n // The result is then added to the table to get the character to write,\n // and finally write it in the result pointer but with a left shift\n // of 256 (1 byte) - 8 (1 ASCII char) = 248 bits\n\n mstore8(resultPtr, mload(add(tablePtr, and(shr(18, input), 0x3F))))\n resultPtr := add(resultPtr, 1) // Advance\n\n mstore8(resultPtr, mload(add(tablePtr, and(shr(12, input), 0x3F))))\n resultPtr := add(resultPtr, 1) // Advance\n\n mstore8(resultPtr, mload(add(tablePtr, and(shr(6, input), 0x3F))))\n resultPtr := add(resultPtr, 1) // Advance\n\n mstore8(resultPtr, mload(add(tablePtr, and(input, 0x3F))))\n resultPtr := add(resultPtr, 1) // Advance\n }\n\n // When data `bytes` is not exactly 3 bytes long\n // it is padded with `=` characters at the end\n switch mod(mload(data), 3)\n case 1 {\n mstore8(sub(resultPtr, 1), 0x3d)\n mstore8(sub(resultPtr, 2), 0x3d)\n }\n case 2 {\n mstore8(sub(resultPtr, 1), 0x3d)\n }\n }\n\n return result;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Base64.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Base64.sol", - "exportedSymbols": { - "Base64": [ - 1464 - ] - }, - "id": 1465, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1419, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "100:23:5" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Base64", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1420, - "nodeType": "StructuredDocumentation", - "src": "125:105:5", - "text": " @dev Provides a set of functions to operate with Base64 strings.\n _Available since v4.5._" - }, - "fullyImplemented": true, - "id": 1464, - "linearizedBaseContracts": [ - 1464 - ], - "name": "Base64", - "nameLocation": "239:6:5", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "documentation": { - "id": 1421, - "nodeType": "StructuredDocumentation", - "src": "252:54:5", - "text": " @dev Base64 Encoding/Decoding Table" - }, - "id": 1424, - "mutability": "constant", - "name": "_TABLE", - "nameLocation": "336:6:5", - "nodeType": "VariableDeclaration", - "scope": 1464, - "src": "311:100:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1422, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "311:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "hexValue": "4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f", - "id": 1423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "345:66:5", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_84d8a590de33e00cbdc16e1f28c3506f5ec15c599fab9a6a4bcd575cc2f110ce", - "typeString": "literal_string \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"" - }, - "value": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" - }, - "visibility": "internal" - }, - { - "body": { - "id": 1462, - "nodeType": "Block", - "src": "578:2953:5", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1432, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1427, - "src": "795:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "800:6:5", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "795:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "810:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "795:16:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "documentation": " Inspired by Brecht Devos (Brechtpd) implementation - MIT licence\n https://github.com/Brechtpd/base64/blob/e78d9fd951e7b0977ddca77d92dc85183770daf4/base64.sol", - "id": 1438, - "nodeType": "IfStatement", - "src": "791:31:5", - "trueBody": { - "expression": { - "hexValue": "", - "id": 1436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "820:2:5", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "functionReturnParameters": 1431, - "id": 1437, - "nodeType": "Return", - "src": "813:9:5" - } - }, - { - "assignments": [ - 1440 - ], - "declarations": [ - { - "constant": false, - "id": 1440, - "mutability": "mutable", - "name": "table", - "nameLocation": "886:5:5", - "nodeType": "VariableDeclaration", - "scope": 1462, - "src": "872:19:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1439, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "872:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1442, - "initialValue": { - "id": 1441, - "name": "_TABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1424, - "src": "894:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "872:28:5" - }, - { - "assignments": [ - 1444 - ], - "declarations": [ - { - "constant": false, - "id": 1444, - "mutability": "mutable", - "name": "result", - "nameLocation": "1317:6:5", - "nodeType": "VariableDeclaration", - "scope": 1462, - "src": "1303:20:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1443, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1303:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1458, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "34", - "id": 1447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1337:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1448, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1427, - "src": "1343:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1348:6:5", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1343:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "32", - "id": 1450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1357:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1343:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1452, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1342:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "hexValue": "33", - "id": 1453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1362:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "1342:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1455, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1341:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1337:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1326:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - }, - "typeName": { - "id": 1445, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1330:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1326:39:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1303:62:5" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1428:2073:5", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1513:29:5", - "value": { - "arguments": [ - { - "name": "table", - "nodeType": "YulIdentifier", - "src": "1533:5:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1540:1:5", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1529:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "1529:13:5" - }, - "variables": [ - { - "name": "tablePtr", - "nodeType": "YulTypedName", - "src": "1517:8:5", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1612:32:5", - "value": { - "arguments": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "1633:6:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1641:2:5", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1629:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "1629:15:5" - }, - "variables": [ - { - "name": "resultPtr", - "nodeType": "YulTypedName", - "src": "1616:9:5", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1857:1257:5", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1910:26:5", - "value": { - "arguments": [ - { - "name": "dataPtr", - "nodeType": "YulIdentifier", - "src": "1925:7:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1934:1:5", - "type": "", - "value": "3" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1921:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "1921:15:5" - }, - "variableNames": [ - { - "name": "dataPtr", - "nodeType": "YulIdentifier", - "src": "1910:7:5" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1953:27:5", - "value": { - "arguments": [ - { - "name": "dataPtr", - "nodeType": "YulIdentifier", - "src": "1972:7:5" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1966:5:5" - }, - "nodeType": "YulFunctionCall", - "src": "1966:14:5" - }, - "variables": [ - { - "name": "input", - "nodeType": "YulTypedName", - "src": "1957:5:5", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "2564:9:5" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "tablePtr", - "nodeType": "YulIdentifier", - "src": "2585:8:5" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2603:2:5", - "type": "", - "value": "18" - }, - { - "name": "input", - "nodeType": "YulIdentifier", - "src": "2607:5:5" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2599:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2599:14:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2615:4:5", - "type": "", - "value": "0x3F" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2595:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2595:25:5" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2581:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2581:40:5" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2575:5:5" - }, - "nodeType": "YulFunctionCall", - "src": "2575:47:5" - } - ], - "functionName": { - "name": "mstore8", - "nodeType": "YulIdentifier", - "src": "2556:7:5" - }, - "nodeType": "YulFunctionCall", - "src": "2556:67:5" - }, - "nodeType": "YulExpressionStatement", - "src": "2556:67:5" - }, - { - "nodeType": "YulAssignment", - "src": "2640:30:5", - "value": { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "2657:9:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2668:1:5", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2653:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2653:17:5" - }, - "variableNames": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "2640:9:5" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "2707:9:5" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "tablePtr", - "nodeType": "YulIdentifier", - "src": "2728:8:5" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2746:2:5", - "type": "", - "value": "12" - }, - { - "name": "input", - "nodeType": "YulIdentifier", - "src": "2750:5:5" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2742:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2742:14:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2758:4:5", - "type": "", - "value": "0x3F" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2738:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2738:25:5" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2724:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2724:40:5" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2718:5:5" - }, - "nodeType": "YulFunctionCall", - "src": "2718:47:5" - } - ], - "functionName": { - "name": "mstore8", - "nodeType": "YulIdentifier", - "src": "2699:7:5" - }, - "nodeType": "YulFunctionCall", - "src": "2699:67:5" - }, - "nodeType": "YulExpressionStatement", - "src": "2699:67:5" - }, - { - "nodeType": "YulAssignment", - "src": "2783:30:5", - "value": { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "2800:9:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2811:1:5", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2796:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2796:17:5" - }, - "variableNames": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "2783:9:5" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "2850:9:5" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "tablePtr", - "nodeType": "YulIdentifier", - "src": "2871:8:5" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2889:1:5", - "type": "", - "value": "6" - }, - { - "name": "input", - "nodeType": "YulIdentifier", - "src": "2892:5:5" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2885:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2885:13:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2900:4:5", - "type": "", - "value": "0x3F" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2881:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2881:24:5" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2867:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2867:39:5" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2861:5:5" - }, - "nodeType": "YulFunctionCall", - "src": "2861:46:5" - } - ], - "functionName": { - "name": "mstore8", - "nodeType": "YulIdentifier", - "src": "2842:7:5" - }, - "nodeType": "YulFunctionCall", - "src": "2842:66:5" - }, - "nodeType": "YulExpressionStatement", - "src": "2842:66:5" - }, - { - "nodeType": "YulAssignment", - "src": "2925:30:5", - "value": { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "2942:9:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2953:1:5", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2938:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "2938:17:5" - }, - "variableNames": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "2925:9:5" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "2992:9:5" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "tablePtr", - "nodeType": "YulIdentifier", - "src": "3013:8:5" - }, - { - "arguments": [ - { - "name": "input", - "nodeType": "YulIdentifier", - "src": "3027:5:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3034:4:5", - "type": "", - "value": "0x3F" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3023:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "3023:16:5" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3009:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "3009:31:5" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3003:5:5" - }, - "nodeType": "YulFunctionCall", - "src": "3003:38:5" - } - ], - "functionName": { - "name": "mstore8", - "nodeType": "YulIdentifier", - "src": "2984:7:5" - }, - "nodeType": "YulFunctionCall", - "src": "2984:58:5" - }, - "nodeType": "YulExpressionStatement", - "src": "2984:58:5" - }, - { - "nodeType": "YulAssignment", - "src": "3059:30:5", - "value": { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "3076:9:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3087:1:5", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3072:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "3072:17:5" - }, - "variableNames": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "3059:9:5" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "dataPtr", - "nodeType": "YulIdentifier", - "src": "1823:7:5" - }, - { - "name": "endPtr", - "nodeType": "YulIdentifier", - "src": "1832:6:5" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1820:2:5" - }, - "nodeType": "YulFunctionCall", - "src": "1820:19:5" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1840:16:5", - "statements": [] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1715:104:5", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1733:19:5", - "value": { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1748:4:5" - }, - "variables": [ - { - "name": "dataPtr", - "nodeType": "YulTypedName", - "src": "1737:7:5", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1769:36:5", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1787:4:5" - }, - { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1799:4:5" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1793:5:5" - }, - "nodeType": "YulFunctionCall", - "src": "1793:11:5" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1783:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "1783:22:5" - }, - "variables": [ - { - "name": "endPtr", - "nodeType": "YulTypedName", - "src": "1773:6:5", - "type": "" - } - ] - } - ] - }, - "src": "1711:1403:5" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3294:113:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "3324:9:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3335:1:5", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3320:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "3320:17:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3339:4:5", - "type": "", - "value": "0x3d" - } - ], - "functionName": { - "name": "mstore8", - "nodeType": "YulIdentifier", - "src": "3312:7:5" - }, - "nodeType": "YulFunctionCall", - "src": "3312:32:5" - }, - "nodeType": "YulExpressionStatement", - "src": "3312:32:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "3373:9:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3384:1:5", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3369:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "3369:17:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3388:4:5", - "type": "", - "value": "0x3d" - } - ], - "functionName": { - "name": "mstore8", - "nodeType": "YulIdentifier", - "src": "3361:7:5" - }, - "nodeType": "YulFunctionCall", - "src": "3361:32:5" - }, - "nodeType": "YulExpressionStatement", - "src": "3361:32:5" - } - ] - }, - "nodeType": "YulCase", - "src": "3287:120:5", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3292:1:5", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3427:64:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "resultPtr", - "nodeType": "YulIdentifier", - "src": "3457:9:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3468:1:5", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3453:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "3453:17:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3472:4:5", - "type": "", - "value": "0x3d" - } - ], - "functionName": { - "name": "mstore8", - "nodeType": "YulIdentifier", - "src": "3445:7:5" - }, - "nodeType": "YulFunctionCall", - "src": "3445:32:5" - }, - "nodeType": "YulExpressionStatement", - "src": "3445:32:5" - } - ] - }, - "nodeType": "YulCase", - "src": "3420:71:5", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3425:1:5", - "type": "", - "value": "2" - } - } - ], - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3265:4:5" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3259:5:5" - }, - "nodeType": "YulFunctionCall", - "src": "3259:11:5" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3272:1:5", - "type": "", - "value": "3" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "3255:3:5" - }, - "nodeType": "YulFunctionCall", - "src": "3255:19:5" - }, - "nodeType": "YulSwitch", - "src": "3248:243:5" - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 1427, - "isOffset": false, - "isSlot": false, - "src": "1748:4:5", - "valueSize": 1 - }, - { - "declaration": 1427, - "isOffset": false, - "isSlot": false, - "src": "1787:4:5", - "valueSize": 1 - }, - { - "declaration": 1427, - "isOffset": false, - "isSlot": false, - "src": "1799:4:5", - "valueSize": 1 - }, - { - "declaration": 1427, - "isOffset": false, - "isSlot": false, - "src": "3265:4:5", - "valueSize": 1 - }, - { - "declaration": 1444, - "isOffset": false, - "isSlot": false, - "src": "1633:6:5", - "valueSize": 1 - }, - { - "declaration": 1440, - "isOffset": false, - "isSlot": false, - "src": "1533:5:5", - "valueSize": 1 - } - ], - "id": 1459, - "nodeType": "InlineAssembly", - "src": "1419:2082:5" - }, - { - "expression": { - "id": 1460, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1444, - "src": "3518:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1431, - "id": 1461, - "nodeType": "Return", - "src": "3511:13:5" - } - ] - }, - "documentation": { - "id": 1425, - "nodeType": "StructuredDocumentation", - "src": "418:82:5", - "text": " @dev Converts a `bytes` to its Bytes64 `string` representation." - }, - "id": 1463, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nameLocation": "514:6:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1427, - "mutability": "mutable", - "name": "data", - "nameLocation": "534:4:5", - "nodeType": "VariableDeclaration", - "scope": 1463, - "src": "521:17:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1426, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "521:5:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "520:19:5" - }, - "returnParameters": { - "id": 1431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1430, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1463, - "src": "563:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1429, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "563:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "562:15:5" - }, - "scope": 1464, - "src": "505:3026:5", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1465, - "src": "231:3302:5", - "usedErrors": [] - } - ], - "src": "100:3434:5" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.985Z", - "devdoc": { - "details": "Provides a set of functions to operate with Base64 strings. _Available since v4.5._", - "kind": "dev", - "methods": {}, - "stateVariables": { - "_TABLE": { - "details": "Base64 Encoding/Decoding Table" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build/contracts/Context.json b/build/contracts/Context.json deleted file mode 100644 index c8b6b01..0000000 --- a/build/contracts/Context.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "contractName": "Context", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"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": [ - 1486 - ] - }, - "id": 1487, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1466, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "86:23:6" - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "Context", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1467, - "nodeType": "StructuredDocumentation", - "src": "111:496:6", - "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": 1486, - "linearizedBaseContracts": [ - 1486 - ], - "name": "Context", - "nameLocation": "626:7:6", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1475, - "nodeType": "Block", - "src": "702:34:6", - "statements": [ - { - "expression": { - "expression": { - "id": 1472, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "719:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "723:6:6", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "719:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1471, - "id": 1474, - "nodeType": "Return", - "src": "712:17:6" - } - ] - }, - "id": 1476, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nameLocation": "649:10:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1468, - "nodeType": "ParameterList", - "parameters": [], - "src": "659:2:6" - }, - "returnParameters": { - "id": 1471, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1470, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1476, - "src": "693:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1469, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "693:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "692:9:6" - }, - "scope": 1486, - "src": "640:96:6", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1484, - "nodeType": "Block", - "src": "809:32:6", - "statements": [ - { - "expression": { - "expression": { - "id": 1481, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "826:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "830:4:6", - "memberName": "data", - "nodeType": "MemberAccess", - "src": "826:8:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 1480, - "id": 1483, - "nodeType": "Return", - "src": "819:15:6" - } - ] - }, - "id": 1485, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nameLocation": "751:8:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1477, - "nodeType": "ParameterList", - "parameters": [], - "src": "759:2:6" - }, - "returnParameters": { - "id": 1480, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1479, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1485, - "src": "793:14:6", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1478, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "793:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "792:16:6" - }, - "scope": 1486, - "src": "742:99:6", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 1487, - "src": "608:235:6", - "usedErrors": [] - } - ], - "src": "86:758:6" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.986Z", - "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/build/contracts/Counters.json b/build/contracts/Counters.json deleted file mode 100644 index 25d5643..0000000 --- a/build/contracts/Counters.json +++ /dev/null @@ -1,879 +0,0 @@ -{ - "contractName": "Counters", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]}},\"version\":1}", - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f4830d7f86e1ab2f8303d17696b97e631053fd399cf240c2d50ef4c88fdba17564736f6c63430008130033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f4830d7f86e1ab2f8303d17696b97e631053fd399cf240c2d50ef4c88fdba17564736f6c63430008130033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "424:971:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "424:971:7:-: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": [ - 1560 - ] - }, - "id": 1561, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1488, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "87:23:7" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Counters", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1489, - "nodeType": "StructuredDocumentation", - "src": "112:311:7", - "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": 1560, - "linearizedBaseContracts": [ - 1560 - ], - "name": "Counters", - "nameLocation": "432:8:7", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Counters.Counter", - "id": 1492, - "members": [ - { - "constant": false, - "id": 1491, - "mutability": "mutable", - "name": "_value", - "nameLocation": "794:6:7", - "nodeType": "VariableDeclaration", - "scope": 1492, - "src": "786:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "786:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Counter", - "nameLocation": "454:7:7", - "nodeType": "StructDefinition", - "scope": 1560, - "src": "447:374:7", - "visibility": "public" - }, - { - "body": { - "id": 1503, - "nodeType": "Block", - "src": "901:38:7", - "statements": [ - { - "expression": { - "expression": { - "id": 1500, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1495, - "src": "918:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "926:6:7", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1491, - "src": "918:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1499, - "id": 1502, - "nodeType": "Return", - "src": "911:21:7" - } - ] - }, - "id": 1504, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "current", - "nameLocation": "836:7:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1495, - "mutability": "mutable", - "name": "counter", - "nameLocation": "860:7:7", - "nodeType": "VariableDeclaration", - "scope": 1504, - "src": "844:23:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1494, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1493, - "name": "Counter", - "nameLocations": [ - "844:7:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1492, - "src": "844:7:7" - }, - "referencedDeclaration": 1492, - "src": "844:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "843:25:7" - }, - "returnParameters": { - "id": 1499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1498, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1504, - "src": "892:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "891:9:7" - }, - "scope": 1560, - "src": "827:112:7", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1517, - "nodeType": "Block", - "src": "998:70:7", - "statements": [ - { - "id": 1516, - "nodeType": "UncheckedBlock", - "src": "1008:54:7", - "statements": [ - { - "expression": { - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1510, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1507, - "src": "1032:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1512, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1040:6:7", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1491, - "src": "1032:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1050:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1032:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1515, - "nodeType": "ExpressionStatement", - "src": "1032:19:7" - } - ] - } - ] - }, - "id": 1518, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increment", - "nameLocation": "954:9:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1507, - "mutability": "mutable", - "name": "counter", - "nameLocation": "980:7:7", - "nodeType": "VariableDeclaration", - "scope": 1518, - "src": "964:23:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1506, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1505, - "name": "Counter", - "nameLocations": [ - "964:7:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1492, - "src": "964:7:7" - }, - "referencedDeclaration": 1492, - "src": "964:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "963:25:7" - }, - "returnParameters": { - "id": 1509, - "nodeType": "ParameterList", - "parameters": [], - "src": "998:0:7" - }, - "scope": 1560, - "src": "945:123:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1545, - "nodeType": "Block", - "src": "1127:176:7", - "statements": [ - { - "assignments": [ - 1525 - ], - "declarations": [ - { - "constant": false, - "id": 1525, - "mutability": "mutable", - "name": "value", - "nameLocation": "1145:5:7", - "nodeType": "VariableDeclaration", - "scope": 1545, - "src": "1137:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1524, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1528, - "initialValue": { - "expression": { - "id": 1526, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1521, - "src": "1153:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1527, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1161:6:7", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1491, - "src": "1153:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1137:30:7" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1530, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1525, - "src": "1185:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1185:9:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "436f756e7465723a2064656372656d656e74206f766572666c6f77", - "id": 1533, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1196:29:7", - "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": 1529, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1177:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1177:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1535, - "nodeType": "ExpressionStatement", - "src": "1177:49:7" - }, - { - "id": 1544, - "nodeType": "UncheckedBlock", - "src": "1236:61:7", - "statements": [ - { - "expression": { - "id": 1542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1536, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1521, - "src": "1260:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1268:6:7", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1491, - "src": "1260:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1539, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1525, - "src": "1277:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1285:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1277:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1260:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1543, - "nodeType": "ExpressionStatement", - "src": "1260:26:7" - } - ] - } - ] - }, - "id": 1546, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decrement", - "nameLocation": "1083:9:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1522, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1521, - "mutability": "mutable", - "name": "counter", - "nameLocation": "1109:7:7", - "nodeType": "VariableDeclaration", - "scope": 1546, - "src": "1093:23:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1520, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1519, - "name": "Counter", - "nameLocations": [ - "1093:7:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1492, - "src": "1093:7:7" - }, - "referencedDeclaration": 1492, - "src": "1093:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "1092:25:7" - }, - "returnParameters": { - "id": 1523, - "nodeType": "ParameterList", - "parameters": [], - "src": "1127:0:7" - }, - "scope": 1560, - "src": "1074:229:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1558, - "nodeType": "Block", - "src": "1358:35:7", - "statements": [ - { - "expression": { - "id": 1556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1552, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1549, - "src": "1368:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 1554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1376:6:7", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 1491, - "src": "1368:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 1555, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1385:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1368:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1557, - "nodeType": "ExpressionStatement", - "src": "1368:18:7" - } - ] - }, - "id": 1559, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "reset", - "nameLocation": "1318:5:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1549, - "mutability": "mutable", - "name": "counter", - "nameLocation": "1340:7:7", - "nodeType": "VariableDeclaration", - "scope": 1559, - "src": "1324:23:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 1548, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1547, - "name": "Counter", - "nameLocations": [ - "1324:7:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1492, - "src": "1324:7:7" - }, - "referencedDeclaration": 1492, - "src": "1324:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "1323:25:7" - }, - "returnParameters": { - "id": 1551, - "nodeType": "ParameterList", - "parameters": [], - "src": "1358:0:7" - }, - "scope": 1560, - "src": "1309:84:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1561, - "src": "424:971:7", - "usedErrors": [] - } - ], - "src": "87:1309:7" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.986Z", - "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/build/contracts/ERC165.json b/build/contracts/ERC165.json deleted file mode 100644 index 8482739..0000000 --- a/build/contracts/ERC165.json +++ /dev/null @@ -1,344 +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.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"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": [ - 1813 - ], - "IERC165": [ - 1825 - ] - }, - "id": 1814, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1791, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "99:23:9" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 1792, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1814, - "sourceUnit": 1826, - "src": "124:23:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1794, - "name": "IERC165", - "nameLocations": [ - "754:7:9" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1825, - "src": "754:7:9" - }, - "id": 1795, - "nodeType": "InheritanceSpecifier", - "src": "754:7:9" - } - ], - "canonicalName": "ERC165", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1793, - "nodeType": "StructuredDocumentation", - "src": "149:576:9", - "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": 1813, - "linearizedBaseContracts": [ - 1813, - 1825 - ], - "name": "ERC165", - "nameLocation": "744:6:9", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 1824 - ], - "body": { - "id": 1811, - "nodeType": "Block", - "src": "920:64:9", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 1809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1804, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1798, - "src": "937:11:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 1806, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1825, - "src": "957:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$1825_$", - "typeString": "type(contract IERC165)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165_$1825_$", - "typeString": "type(contract IERC165)" - } - ], - "id": 1805, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "952:4:9", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "952:13:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$1825", - "typeString": "type(contract IERC165)" - } - }, - "id": 1808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "966:11:9", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "952:25:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "937:40:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1803, - "id": 1810, - "nodeType": "Return", - "src": "930:47:9" - } - ] - }, - "documentation": { - "id": 1796, - "nodeType": "StructuredDocumentation", - "src": "768:56:9", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 1812, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "838:17:9", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1800, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "896:8:9" - }, - "parameters": { - "id": 1799, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1798, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "863:11:9", - "nodeType": "VariableDeclaration", - "scope": 1812, - "src": "856:18:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1797, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "856:6:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "855:20:9" - }, - "returnParameters": { - "id": 1803, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1802, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1812, - "src": "914:4:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1801, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "914:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "913:6:9" - }, - "scope": 1813, - "src": "829:155:9", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - } - ], - "scope": 1814, - "src": "726:260:9", - "usedErrors": [] - } - ], - "src": "99:888:9" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.987Z", - "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/build/contracts/ERC721.json b/build/contracts/ERC721.json deleted file mode 100644 index 524fbbd..0000000 --- a/build/contracts/ERC721.json +++ /dev/null @@ -1,27738 +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.19+commit.7dd6d404\"},\"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}.\",\"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\":\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@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/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b50604051620026dd380380620026dd8339818101604052810190620000379190620001f6565b8160009081620000489190620004c6565b5080600190816200005a9190620004c6565b505050620005ad565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000cc8262000081565b810181811067ffffffffffffffff82111715620000ee57620000ed62000092565b5b80604052505050565b60006200010362000063565b9050620001118282620000c1565b919050565b600067ffffffffffffffff82111562000134576200013362000092565b5b6200013f8262000081565b9050602081019050919050565b60005b838110156200016c5780820151818401526020810190506200014f565b60008484015250505050565b60006200018f620001898462000116565b620000f7565b905082815260208101848484011115620001ae57620001ad6200007c565b5b620001bb8482856200014c565b509392505050565b600082601f830112620001db57620001da62000077565b5b8151620001ed84826020860162000178565b91505092915050565b6000806040838503121562000210576200020f6200006d565b5b600083015167ffffffffffffffff81111562000231576200023062000072565b5b6200023f85828601620001c3565b925050602083015167ffffffffffffffff81111562000263576200026262000072565b5b6200027185828601620001c3565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002ce57607f821691505b602082108103620002e457620002e362000286565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200034e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200030f565b6200035a86836200030f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003a7620003a16200039b8462000372565b6200037c565b62000372565b9050919050565b6000819050919050565b620003c38362000386565b620003db620003d282620003ae565b8484546200031c565b825550505050565b600090565b620003f2620003e3565b620003ff818484620003b8565b505050565b5b8181101562000427576200041b600082620003e8565b60018101905062000405565b5050565b601f82111562000476576200044081620002ea565b6200044b84620002ff565b810160208510156200045b578190505b620004736200046a85620002ff565b83018262000404565b50505b505050565b600082821c905092915050565b60006200049b600019846008026200047b565b1980831691505092915050565b6000620004b6838362000488565b9150826002028217905092915050565b620004d1826200027b565b67ffffffffffffffff811115620004ed57620004ec62000092565b5b620004f98254620002b5565b620005068282856200042b565b600060209050601f8311600181146200053e576000841562000529578287015190505b620005358582620004a8565b865550620005a5565b601f1984166200054e86620002ea565b60005b82811015620005785784890151825560018201915060208501945060208101905062000551565b8683101562000598578489015162000594601f89168262000488565b8355505b6001600288020188555050505b505050505050565b61212080620005bd6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb46514610224578063b88d4fde14610240578063c87b56dd1461025c578063e985e9c51461028c576100cf565b80636352211e146101a657806370a08231146101d657806395d89b4114610206576100cf565b806301ffc9a7146100d457806306fdde0314610104578063081812fc14610122578063095ea7b31461015257806323b872dd1461016e57806342842e0e1461018a575b600080fd5b6100ee60048036038101906100e991906114f4565b6102bc565b6040516100fb919061153c565b60405180910390f35b61010c61039e565b60405161011991906115e7565b60405180910390f35b61013c6004803603810190610137919061163f565b610430565b60405161014991906116ad565b60405180910390f35b61016c600480360381019061016791906116f4565b610476565b005b61018860048036038101906101839190611734565b61058d565b005b6101a4600480360381019061019f9190611734565b6105ed565b005b6101c060048036038101906101bb919061163f565b61060d565b6040516101cd91906116ad565b60405180910390f35b6101f060048036038101906101eb9190611787565b610693565b6040516101fd91906117c3565b60405180910390f35b61020e61074a565b60405161021b91906115e7565b60405180910390f35b61023e6004803603810190610239919061180a565b6107dc565b005b61025a6004803603810190610255919061197f565b6107f2565b005b6102766004803603810190610271919061163f565b610854565b60405161028391906115e7565b60405180910390f35b6102a660048036038101906102a19190611a02565b6108bc565b6040516102b3919061153c565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610397575061039682610950565b5b9050919050565b6060600080546103ad90611a71565b80601f01602080910402602001604051908101604052809291908181526020018280546103d990611a71565b80156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b600061043b826109ba565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104818261060d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e890611b14565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610510610a05565b73ffffffffffffffffffffffffffffffffffffffff16148061053f575061053e81610539610a05565b6108bc565b5b61057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590611ba6565b60405180910390fd5b6105888383610a0d565b505050565b61059e610598610a05565b82610ac6565b6105dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d490611c38565b60405180910390fd5b6105e8838383610b5b565b505050565b610608838383604051806020016040528060008152506107f2565b505050565b60008061061983610e54565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068190611ca4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90611d36565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606001805461075990611a71565b80601f016020809104026020016040519081016040528092919081815260200182805461078590611a71565b80156107d25780601f106107a7576101008083540402835291602001916107d2565b820191906000526020600020905b8154815290600101906020018083116107b557829003601f168201915b5050505050905090565b6107ee6107e7610a05565b8383610e91565b5050565b6108036107fd610a05565b83610ac6565b610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611c38565b60405180910390fd5b61084e84848484610ffd565b50505050565b606061085f826109ba565b6000610869611059565b9050600081511161088957604051806020016040528060008152506108b4565b8061089384611070565b6040516020016108a4929190611d92565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6109c38161113e565b610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990611ca4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610a808361060d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610ad28361060d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b145750610b1381856108bc565b5b80610b5257508373ffffffffffffffffffffffffffffffffffffffff16610b3a84610430565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610b7b8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611e28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611eba565b60405180910390fd5b610c4d838383600161117f565b8273ffffffffffffffffffffffffffffffffffffffff16610c6d8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90611e28565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e4f8383836001611185565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690611f26565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ff0919061153c565b60405180910390a3505050565b611008848484610b5b565b6110148484848461118b565b611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a90611fb8565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161107f84611312565b01905060008167ffffffffffffffff81111561109e5761109d611854565b5b6040519080825280601f01601f1916602001820160405280156110d05781602001600182028036833780820191505090505b509050600082602001820190505b600115611133578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161112757611126611fd8565b5b049450600085036110de575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661116083610e54565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b60006111ac8473ffffffffffffffffffffffffffffffffffffffff16611465565b15611305578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026111d5610a05565b8786866040518563ffffffff1660e01b81526004016111f7949392919061205c565b6020604051808303816000875af192505050801561123357506040513d601f19601f8201168201806040525081019061123091906120bd565b60015b6112b5573d8060008114611263576040519150601f19603f3d011682016040523d82523d6000602084013e611268565b606091505b5060008151036112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490611fb8565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061130a565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611370577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161136657611365611fd8565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106113ad576d04ee2d6d415b85acef810000000083816113a3576113a2611fd8565b5b0492506020810190505b662386f26fc1000083106113dc57662386f26fc1000083816113d2576113d1611fd8565b5b0492506010810190505b6305f5e1008310611405576305f5e10083816113fb576113fa611fd8565b5b0492506008810190505b612710831061142a5761271083816114205761141f611fd8565b5b0492506004810190505b6064831061144d576064838161144357611442611fd8565b5b0492506002810190505b600a831061145c576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6114d18161149c565b81146114dc57600080fd5b50565b6000813590506114ee816114c8565b92915050565b60006020828403121561150a57611509611492565b5b6000611518848285016114df565b91505092915050565b60008115159050919050565b61153681611521565b82525050565b6000602082019050611551600083018461152d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611591578082015181840152602081019050611576565b60008484015250505050565b6000601f19601f8301169050919050565b60006115b982611557565b6115c38185611562565b93506115d3818560208601611573565b6115dc8161159d565b840191505092915050565b6000602082019050818103600083015261160181846115ae565b905092915050565b6000819050919050565b61161c81611609565b811461162757600080fd5b50565b60008135905061163981611613565b92915050565b60006020828403121561165557611654611492565b5b60006116638482850161162a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116978261166c565b9050919050565b6116a78161168c565b82525050565b60006020820190506116c2600083018461169e565b92915050565b6116d18161168c565b81146116dc57600080fd5b50565b6000813590506116ee816116c8565b92915050565b6000806040838503121561170b5761170a611492565b5b6000611719858286016116df565b925050602061172a8582860161162a565b9150509250929050565b60008060006060848603121561174d5761174c611492565b5b600061175b868287016116df565b935050602061176c868287016116df565b925050604061177d8682870161162a565b9150509250925092565b60006020828403121561179d5761179c611492565b5b60006117ab848285016116df565b91505092915050565b6117bd81611609565b82525050565b60006020820190506117d860008301846117b4565b92915050565b6117e781611521565b81146117f257600080fd5b50565b600081359050611804816117de565b92915050565b6000806040838503121561182157611820611492565b5b600061182f858286016116df565b9250506020611840858286016117f5565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61188c8261159d565b810181811067ffffffffffffffff821117156118ab576118aa611854565b5b80604052505050565b60006118be611488565b90506118ca8282611883565b919050565b600067ffffffffffffffff8211156118ea576118e9611854565b5b6118f38261159d565b9050602081019050919050565b82818337600083830152505050565b600061192261191d846118cf565b6118b4565b90508281526020810184848401111561193e5761193d61184f565b5b611949848285611900565b509392505050565b600082601f8301126119665761196561184a565b5b813561197684826020860161190f565b91505092915050565b6000806000806080858703121561199957611998611492565b5b60006119a7878288016116df565b94505060206119b8878288016116df565b93505060406119c98782880161162a565b925050606085013567ffffffffffffffff8111156119ea576119e9611497565b5b6119f687828801611951565b91505092959194509250565b60008060408385031215611a1957611a18611492565b5b6000611a27858286016116df565b9250506020611a38858286016116df565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a8957607f821691505b602082108103611a9c57611a9b611a42565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611afe602183611562565b9150611b0982611aa2565b604082019050919050565b60006020820190508181036000830152611b2d81611af1565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611b90603d83611562565b9150611b9b82611b34565b604082019050919050565b60006020820190508181036000830152611bbf81611b83565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611c22602d83611562565b9150611c2d82611bc6565b604082019050919050565b60006020820190508181036000830152611c5181611c15565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000611c8e601883611562565b9150611c9982611c58565b602082019050919050565b60006020820190508181036000830152611cbd81611c81565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000611d20602983611562565b9150611d2b82611cc4565b604082019050919050565b60006020820190508181036000830152611d4f81611d13565b9050919050565b600081905092915050565b6000611d6c82611557565b611d768185611d56565b9350611d86818560208601611573565b80840191505092915050565b6000611d9e8285611d61565b9150611daa8284611d61565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611e12602583611562565b9150611e1d82611db6565b604082019050919050565b60006020820190508181036000830152611e4181611e05565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611ea4602483611562565b9150611eaf82611e48565b604082019050919050565b60006020820190508181036000830152611ed381611e97565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000611f10601983611562565b9150611f1b82611eda565b602082019050919050565b60006020820190508181036000830152611f3f81611f03565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000611fa2603283611562565b9150611fad82611f46565b604082019050919050565b60006020820190508181036000830152611fd181611f95565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b600061202e82612007565b6120388185612012565b9350612048818560208601611573565b6120518161159d565b840191505092915050565b6000608082019050612071600083018761169e565b61207e602083018661169e565b61208b60408301856117b4565b818103606083015261209d8184612023565b905095945050505050565b6000815190506120b7816114c8565b92915050565b6000602082840312156120d3576120d2611492565b5b60006120e1848285016120a8565b9150509291505056fea26469706673582212207506c8137360520a4d887fc5ae21ad7b118eef05f2bc19d7c60b21811aecee1964736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb46514610224578063b88d4fde14610240578063c87b56dd1461025c578063e985e9c51461028c576100cf565b80636352211e146101a657806370a08231146101d657806395d89b4114610206576100cf565b806301ffc9a7146100d457806306fdde0314610104578063081812fc14610122578063095ea7b31461015257806323b872dd1461016e57806342842e0e1461018a575b600080fd5b6100ee60048036038101906100e991906114f4565b6102bc565b6040516100fb919061153c565b60405180910390f35b61010c61039e565b60405161011991906115e7565b60405180910390f35b61013c6004803603810190610137919061163f565b610430565b60405161014991906116ad565b60405180910390f35b61016c600480360381019061016791906116f4565b610476565b005b61018860048036038101906101839190611734565b61058d565b005b6101a4600480360381019061019f9190611734565b6105ed565b005b6101c060048036038101906101bb919061163f565b61060d565b6040516101cd91906116ad565b60405180910390f35b6101f060048036038101906101eb9190611787565b610693565b6040516101fd91906117c3565b60405180910390f35b61020e61074a565b60405161021b91906115e7565b60405180910390f35b61023e6004803603810190610239919061180a565b6107dc565b005b61025a6004803603810190610255919061197f565b6107f2565b005b6102766004803603810190610271919061163f565b610854565b60405161028391906115e7565b60405180910390f35b6102a660048036038101906102a19190611a02565b6108bc565b6040516102b3919061153c565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610397575061039682610950565b5b9050919050565b6060600080546103ad90611a71565b80601f01602080910402602001604051908101604052809291908181526020018280546103d990611a71565b80156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b600061043b826109ba565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104818261060d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e890611b14565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610510610a05565b73ffffffffffffffffffffffffffffffffffffffff16148061053f575061053e81610539610a05565b6108bc565b5b61057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590611ba6565b60405180910390fd5b6105888383610a0d565b505050565b61059e610598610a05565b82610ac6565b6105dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d490611c38565b60405180910390fd5b6105e8838383610b5b565b505050565b610608838383604051806020016040528060008152506107f2565b505050565b60008061061983610e54565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068190611ca4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90611d36565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606001805461075990611a71565b80601f016020809104026020016040519081016040528092919081815260200182805461078590611a71565b80156107d25780601f106107a7576101008083540402835291602001916107d2565b820191906000526020600020905b8154815290600101906020018083116107b557829003601f168201915b5050505050905090565b6107ee6107e7610a05565b8383610e91565b5050565b6108036107fd610a05565b83610ac6565b610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611c38565b60405180910390fd5b61084e84848484610ffd565b50505050565b606061085f826109ba565b6000610869611059565b9050600081511161088957604051806020016040528060008152506108b4565b8061089384611070565b6040516020016108a4929190611d92565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6109c38161113e565b610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990611ca4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610a808361060d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610ad28361060d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b145750610b1381856108bc565b5b80610b5257508373ffffffffffffffffffffffffffffffffffffffff16610b3a84610430565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610b7b8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611e28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611eba565b60405180910390fd5b610c4d838383600161117f565b8273ffffffffffffffffffffffffffffffffffffffff16610c6d8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90611e28565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e4f8383836001611185565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690611f26565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ff0919061153c565b60405180910390a3505050565b611008848484610b5b565b6110148484848461118b565b611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a90611fb8565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161107f84611312565b01905060008167ffffffffffffffff81111561109e5761109d611854565b5b6040519080825280601f01601f1916602001820160405280156110d05781602001600182028036833780820191505090505b509050600082602001820190505b600115611133578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161112757611126611fd8565b5b049450600085036110de575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661116083610e54565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b60006111ac8473ffffffffffffffffffffffffffffffffffffffff16611465565b15611305578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026111d5610a05565b8786866040518563ffffffff1660e01b81526004016111f7949392919061205c565b6020604051808303816000875af192505050801561123357506040513d601f19601f8201168201806040525081019061123091906120bd565b60015b6112b5573d8060008114611263576040519150601f19603f3d011682016040523d82523d6000602084013e611268565b606091505b5060008151036112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490611fb8565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061130a565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611370577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161136657611365611fd8565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106113ad576d04ee2d6d415b85acef810000000083816113a3576113a2611fd8565b5b0492506020810190505b662386f26fc1000083106113dc57662386f26fc1000083816113d2576113d1611fd8565b5b0492506010810190505b6305f5e1008310611405576305f5e10083816113fb576113fa611fd8565b5b0492506008810190505b612710831061142a5761271083816114205761141f611fd8565b5b0492506004810190505b6064831061144d576064838161144357611442611fd8565b5b0492506002810190505b600a831061145c576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6114d18161149c565b81146114dc57600080fd5b50565b6000813590506114ee816114c8565b92915050565b60006020828403121561150a57611509611492565b5b6000611518848285016114df565b91505092915050565b60008115159050919050565b61153681611521565b82525050565b6000602082019050611551600083018461152d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611591578082015181840152602081019050611576565b60008484015250505050565b6000601f19601f8301169050919050565b60006115b982611557565b6115c38185611562565b93506115d3818560208601611573565b6115dc8161159d565b840191505092915050565b6000602082019050818103600083015261160181846115ae565b905092915050565b6000819050919050565b61161c81611609565b811461162757600080fd5b50565b60008135905061163981611613565b92915050565b60006020828403121561165557611654611492565b5b60006116638482850161162a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116978261166c565b9050919050565b6116a78161168c565b82525050565b60006020820190506116c2600083018461169e565b92915050565b6116d18161168c565b81146116dc57600080fd5b50565b6000813590506116ee816116c8565b92915050565b6000806040838503121561170b5761170a611492565b5b6000611719858286016116df565b925050602061172a8582860161162a565b9150509250929050565b60008060006060848603121561174d5761174c611492565b5b600061175b868287016116df565b935050602061176c868287016116df565b925050604061177d8682870161162a565b9150509250925092565b60006020828403121561179d5761179c611492565b5b60006117ab848285016116df565b91505092915050565b6117bd81611609565b82525050565b60006020820190506117d860008301846117b4565b92915050565b6117e781611521565b81146117f257600080fd5b50565b600081359050611804816117de565b92915050565b6000806040838503121561182157611820611492565b5b600061182f858286016116df565b9250506020611840858286016117f5565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61188c8261159d565b810181811067ffffffffffffffff821117156118ab576118aa611854565b5b80604052505050565b60006118be611488565b90506118ca8282611883565b919050565b600067ffffffffffffffff8211156118ea576118e9611854565b5b6118f38261159d565b9050602081019050919050565b82818337600083830152505050565b600061192261191d846118cf565b6118b4565b90508281526020810184848401111561193e5761193d61184f565b5b611949848285611900565b509392505050565b600082601f8301126119665761196561184a565b5b813561197684826020860161190f565b91505092915050565b6000806000806080858703121561199957611998611492565b5b60006119a7878288016116df565b94505060206119b8878288016116df565b93505060406119c98782880161162a565b925050606085013567ffffffffffffffff8111156119ea576119e9611497565b5b6119f687828801611951565b91505092959194509250565b60008060408385031215611a1957611a18611492565b5b6000611a27858286016116df565b9250506020611a38858286016116df565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a8957607f821691505b602082108103611a9c57611a9b611a42565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611afe602183611562565b9150611b0982611aa2565b604082019050919050565b60006020820190508181036000830152611b2d81611af1565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611b90603d83611562565b9150611b9b82611b34565b604082019050919050565b60006020820190508181036000830152611bbf81611b83565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611c22602d83611562565b9150611c2d82611bc6565b604082019050919050565b60006020820190508181036000830152611c5181611c15565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000611c8e601883611562565b9150611c9982611c58565b602082019050919050565b60006020820190508181036000830152611cbd81611c81565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000611d20602983611562565b9150611d2b82611cc4565b604082019050919050565b60006020820190508181036000830152611d4f81611d13565b9050919050565b600081905092915050565b6000611d6c82611557565b611d768185611d56565b9350611d86818560208601611573565b80840191505092915050565b6000611d9e8285611d61565b9150611daa8284611d61565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611e12602583611562565b9150611e1d82611db6565b604082019050919050565b60006020820190508181036000830152611e4181611e05565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611ea4602483611562565b9150611eaf82611e48565b604082019050919050565b60006020820190508181036000830152611ed381611e97565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000611f10601983611562565b9150611f1b82611eda565b602082019050919050565b60006020820190508181036000830152611f3f81611f03565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000611fa2603283611562565b9150611fad82611f46565b604082019050919050565b60006020820190508181036000830152611fd181611f95565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b600061202e82612007565b6120388185612012565b9350612048818560208601611573565b6120518161159d565b840191505092915050565b6000608082019050612071600083018761169e565b61207e602083018661169e565b61208b60408301856117b4565b818103606083015261209d8184612023565b905095945050505050565b6000815190506120b7816114c8565b92915050565b6000602082840312156120d3576120d2611492565b5b60006120e1848285016120a8565b9150509291505056fea26469706673582212207506c8137360520a4d887fc5ae21ad7b118eef05f2bc19d7c60b21811aecee1964736f6c63430008130033", - "immutableReferences": {}, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:8574:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "47:35:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "57:19:15", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "73:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "67:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "67:9:15" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "57:6:15" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "40:6:15", - "type": "" - } - ], - "src": "7:75:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "177:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "194:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "197:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "187:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "187:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "187:12:15" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulFunctionDefinition", - "src": "88:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "300:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "317:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "320:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "310:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "310:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "310:12:15" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulFunctionDefinition", - "src": "211:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "423:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "440:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "443:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "433:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "433:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "433:12:15" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulFunctionDefinition", - "src": "334:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "546:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "563:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "566:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "556:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "556:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "556:12:15" - } - ] - }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulFunctionDefinition", - "src": "457:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "628:54:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "638:38:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "656:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "663:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "652:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "652:14:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "672:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "668:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "668:7:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "648:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "648:28:15" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "638:6:15" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "611:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "621:6:15", - "type": "" - } - ], - "src": "580:102:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "716:152:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "733:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "736:77:15", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "726:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "726:88:15" - }, - "nodeType": "YulExpressionStatement", - "src": "726:88:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "830:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "833:4:15", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "823:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "823:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "823:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "854:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "857:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "847:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "847:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "847:15:15" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "688:180:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "917:238:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "927:58:15", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "949:6:15" - }, - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "979:4:15" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "957:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "957:27:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "945:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "945:40:15" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "931:10:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1096:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1098:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "1098:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1098:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1039:10:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1051:18:15", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1036:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1036:34:15" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1075:10:15" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1087:6:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1072:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1072:22:15" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1033:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1033:62:15" - }, - "nodeType": "YulIf", - "src": "1030:88:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1134:2:15", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1138:10:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1127:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1127:22:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1127:22:15" - } - ] - }, - "name": "finalize_allocation", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "903:6:15", - "type": "" - }, - { - "name": "size", - "nodeType": "YulTypedName", - "src": "911:4:15", - "type": "" - } - ], - "src": "874:281:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1202:88:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1212:30:15", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nodeType": "YulIdentifier", - "src": "1222:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "1222:20:15" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1212:6:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1271:6:15" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1279:4:15" - } - ], - "functionName": { - "name": "finalize_allocation", - "nodeType": "YulIdentifier", - "src": "1251:19:15" - }, - "nodeType": "YulFunctionCall", - "src": "1251:33:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1251:33:15" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "1186:4:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "1195:6:15", - "type": "" - } - ], - "src": "1161:129:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1363:241:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1468:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1470:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "1470:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1470:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1440:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1448:18:15", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1437:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1437:30:15" - }, - "nodeType": "YulIf", - "src": "1434:56:15" - }, - { - "nodeType": "YulAssignment", - "src": "1500:37:15", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1530:6:15" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "1508:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "1508:29:15" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1500:4:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1574:23:15", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1586:4:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1592:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1582:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1582:15:15" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1574:4:15" - } - ] - } - ] - }, - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1347:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "1358:4:15", - "type": "" - } - ], - "src": "1296:308:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1672:184:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1682:10:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1691:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1686:1:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1751:63:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1776:3:15" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1781:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1772:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1772:11:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1795:3:15" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1800:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1791:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1791:11:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1785:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "1785:18:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1765:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1765:39:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1765:39:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1712:1:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1715:6:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1709:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1709:13:15" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1723:19:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1725:15:15", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1734:1:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1737:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1730:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1730:10:15" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1725:1:15" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1705:3:15", - "statements": [] - }, - "src": "1701:113:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1834:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1839:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1830:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1830:16:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1848:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1823:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1823:27:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1823:27:15" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1654:3:15", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "1659:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1664:6:15", - "type": "" - } - ], - "src": "1610:246:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1957:339:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1967:75:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2034:6:15" - } - ], - "functionName": { - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "1992:41:15" - }, - "nodeType": "YulFunctionCall", - "src": "1992:49:15" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "1976:15:15" - }, - "nodeType": "YulFunctionCall", - "src": "1976:66:15" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1967:5:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2058:5:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2065:6:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2051:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2051:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2051:21:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2081:27:15", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2096:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2103:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2092:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2092:16:15" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "2085:3:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2146:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulIdentifier", - "src": "2148:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "2148:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2148:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2127:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2132:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2123:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2123:16:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2141:3:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2120:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "2120:25:15" - }, - "nodeType": "YulIf", - "src": "2117:112:15" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2273:3:15" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2278:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2283:6:15" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "2238:34:15" - }, - "nodeType": "YulFunctionCall", - "src": "2238:52:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2238:52:15" - } - ] - }, - "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1930:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1935:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1943:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "1951:5:15", - "type": "" - } - ], - "src": "1862:434:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2389:282:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2438:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "2440:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "2440:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2440:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2417:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2425:4:15", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2413:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2413:17:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2432:3:15" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2409:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2409:27:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2402:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2402:35:15" - }, - "nodeType": "YulIf", - "src": "2399:122:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2530:27:15", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2550:6:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2544:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "2544:13:15" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2534:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2566:99:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2638:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2646:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2634:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2634:17:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2653:6:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2661:3:15" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", - "nodeType": "YulIdentifier", - "src": "2575:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "2575:90:15" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2566:5:15" - } - ] - } - ] - }, - "name": "abi_decode_t_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2367:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2375:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "2383:5:15", - "type": "" - } - ], - "src": "2316:355:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2791:739:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2837:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "2839:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "2839:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2839:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2812:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2821:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2808:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2808:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2833:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2804:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2804:32:15" - }, - "nodeType": "YulIf", - "src": "2801:119:15" - }, - { - "nodeType": "YulBlock", - "src": "2930:291:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2945:38:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2969:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2980:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2965:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2965:17:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2959:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "2959:24:15" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2949:6:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3030:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "3032:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "3032:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3032:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3002:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3010:18:15", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2999:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "2999:30:15" - }, - "nodeType": "YulIf", - "src": "2996:117:15" - }, - { - "nodeType": "YulAssignment", - "src": "3127:84:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3183:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3194:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3179:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3179:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3203:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr_fromMemory", - "nodeType": "YulIdentifier", - "src": "3137:41:15" - }, - "nodeType": "YulFunctionCall", - "src": "3137:74:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3127:6:15" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "3231:292:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3246:39:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3270:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3281:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3266:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3266:18:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3260:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "3260:25:15" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3250:6:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3332:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "3334:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "3334:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3334:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3304:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3312:18:15", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3301:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "3301:30:15" - }, - "nodeType": "YulIf", - "src": "3298:117:15" - }, - { - "nodeType": "YulAssignment", - "src": "3429:84:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3485:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3496:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3481:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3481:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3505:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr_fromMemory", - "nodeType": "YulIdentifier", - "src": "3439:41:15" - }, - "nodeType": "YulFunctionCall", - "src": "3439:74:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3429:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2753:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2764:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2776:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2784:6:15", - "type": "" - } - ], - "src": "2677:853:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3595:40:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3606:22:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3622:5:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3616:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "3616:12:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3606:6:15" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3578:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "3588:6:15", - "type": "" - } - ], - "src": "3536:99:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3669:152:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3686:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3689:77:15", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3679:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3679:88:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3679:88:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3783:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3786:4:15", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3776:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3776:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3776:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3807:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3810:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3800:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3800:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3800:15:15" - } - ] - }, - "name": "panic_error_0x22", - "nodeType": "YulFunctionDefinition", - "src": "3641:180:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3878:269:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3888:22:15", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3902:4:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3908:1:15", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "3898:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3898:12:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3888:6:15" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3919:38:15", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3949:4:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3955:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3945:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3945:12:15" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "3923:18:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3996:51:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4010:27:15", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4024:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4032:4:15", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4020:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4020:17:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4010:6:15" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "3976:18:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3969:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3969:26:15" - }, - "nodeType": "YulIf", - "src": "3966:81:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4099:42:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x22", - "nodeType": "YulIdentifier", - "src": "4113:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "4113:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4113:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "4063:18:15" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4086:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4094:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4083:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "4083:14:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "4060:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "4060:38:15" - }, - "nodeType": "YulIf", - "src": "4057:84:15" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "3862:4:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "3871:6:15", - "type": "" - } - ], - "src": "3827:320:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4207:87:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4217:11:15", - "value": { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "4225:3:15" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "4217:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4245:1:15", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "4248:3:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4238:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "4238:14:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4238:14:15" - }, - { - "nodeType": "YulAssignment", - "src": "4261:26:15", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4279:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4282:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "4269:9:15" - }, - "nodeType": "YulFunctionCall", - "src": "4269:18:15" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "4261:4:15" - } - ] - } - ] - }, - "name": "array_dataslot_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "4194:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "4202:4:15", - "type": "" - } - ], - "src": "4153:141:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4344:49:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4354:33:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4372:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4379:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4368:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4368:14:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4384:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4364:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4364:23:15" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "4354:6:15" - } - ] - } - ] - }, - "name": "divide_by_32_ceil", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4327:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "4337:6:15", - "type": "" - } - ], - "src": "4300:93:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4452:54:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4462:37:15", - "value": { - "arguments": [ - { - "name": "bits", - "nodeType": "YulIdentifier", - "src": "4487:4:15" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4493:5:15" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "4483:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4483:16:15" - }, - "variableNames": [ - { - "name": "newValue", - "nodeType": "YulIdentifier", - "src": "4462:8:15" - } - ] - } - ] - }, - "name": "shift_left_dynamic", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "bits", - "nodeType": "YulTypedName", - "src": "4427:4:15", - "type": "" - }, - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4433:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "newValue", - "nodeType": "YulTypedName", - "src": "4443:8:15", - "type": "" - } - ], - "src": "4399:107:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4588:317:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4598:35:15", - "value": { - "arguments": [ - { - "name": "shiftBytes", - "nodeType": "YulIdentifier", - "src": "4619:10:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4631:1:15", - "type": "", - "value": "8" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4615:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4615:18:15" - }, - "variables": [ - { - "name": "shiftBits", - "nodeType": "YulTypedName", - "src": "4602:9:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4642:109:15", - "value": { - "arguments": [ - { - "name": "shiftBits", - "nodeType": "YulIdentifier", - "src": "4673:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4684:66:15", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "shift_left_dynamic", - "nodeType": "YulIdentifier", - "src": "4654:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "4654:97:15" - }, - "variables": [ - { - "name": "mask", - "nodeType": "YulTypedName", - "src": "4646:4:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4760:51:15", - "value": { - "arguments": [ - { - "name": "shiftBits", - "nodeType": "YulIdentifier", - "src": "4791:9:15" - }, - { - "name": "toInsert", - "nodeType": "YulIdentifier", - "src": "4802:8:15" - } - ], - "functionName": { - "name": "shift_left_dynamic", - "nodeType": "YulIdentifier", - "src": "4772:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "4772:39:15" - }, - "variableNames": [ - { - "name": "toInsert", - "nodeType": "YulIdentifier", - "src": "4760:8:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4820:30:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4833:5:15" - }, - { - "arguments": [ - { - "name": "mask", - "nodeType": "YulIdentifier", - "src": "4844:4:15" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4840:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4840:9:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4829:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4829:21:15" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4820:5:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4859:40:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4872:5:15" - }, - { - "arguments": [ - { - "name": "toInsert", - "nodeType": "YulIdentifier", - "src": "4883:8:15" - }, - { - "name": "mask", - "nodeType": "YulIdentifier", - "src": "4893:4:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4879:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4879:19:15" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "4869:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "4869:30:15" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "4859:6:15" - } - ] - } - ] - }, - "name": "update_byte_slice_dynamic32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4549:5:15", - "type": "" - }, - { - "name": "shiftBytes", - "nodeType": "YulTypedName", - "src": "4556:10:15", - "type": "" - }, - { - "name": "toInsert", - "nodeType": "YulTypedName", - "src": "4568:8:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "4581:6:15", - "type": "" - } - ], - "src": "4512:393:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4956:32:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4966:16:15", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4977:5:15" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "4966:7:15" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4938:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "4948:7:15", - "type": "" - } - ], - "src": "4911:77:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5026:28:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5036:12:15", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5043:5:15" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "5036:3:15" - } - ] - } - ] - }, - "name": "identity", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5012:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "5022:3:15", - "type": "" - } - ], - "src": "4994:60:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5120:82:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5130:66:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5188:5:15" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "5170:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "5170:24:15" - } - ], - "functionName": { - "name": "identity", - "nodeType": "YulIdentifier", - "src": "5161:8:15" - }, - "nodeType": "YulFunctionCall", - "src": "5161:34:15" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "5143:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "5143:53:15" - }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "5130:9:15" - } - ] - } - ] - }, - "name": "convert_t_uint256_to_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5100:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "5110:9:15", - "type": "" - } - ], - "src": "5060:142:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5255:28:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5265:12:15", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5272:5:15" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "5265:3:15" - } - ] - } - ] - }, - "name": "prepare_store_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5241:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "5251:3:15", - "type": "" - } - ], - "src": "5208:75:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5365:193:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5375:63:15", - "value": { - "arguments": [ - { - "name": "value_0", - "nodeType": "YulIdentifier", - "src": "5430:7:15" - } - ], - "functionName": { - "name": "convert_t_uint256_to_t_uint256", - "nodeType": "YulIdentifier", - "src": "5399:30:15" - }, - "nodeType": "YulFunctionCall", - "src": "5399:39:15" - }, - "variables": [ - { - "name": "convertedValue_0", - "nodeType": "YulTypedName", - "src": "5379:16:15", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "5454:4:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "5494:4:15" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "5488:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "5488:11:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5501:6:15" - }, - { - "arguments": [ - { - "name": "convertedValue_0", - "nodeType": "YulIdentifier", - "src": "5533:16:15" - } - ], - "functionName": { - "name": "prepare_store_t_uint256", - "nodeType": "YulIdentifier", - "src": "5509:23:15" - }, - "nodeType": "YulFunctionCall", - "src": "5509:41:15" - } - ], - "functionName": { - "name": "update_byte_slice_dynamic32", - "nodeType": "YulIdentifier", - "src": "5460:27:15" - }, - "nodeType": "YulFunctionCall", - "src": "5460:91:15" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "5447:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5447:105:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5447:105:15" - } - ] - }, - "name": "update_storage_value_t_uint256_to_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "5342:4:15", - "type": "" - }, - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5348:6:15", - "type": "" - }, - { - "name": "value_0", - "nodeType": "YulTypedName", - "src": "5356:7:15", - "type": "" - } - ], - "src": "5289:269:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5613:24:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5623:8:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5630:1:15", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "5623:3:15" - } - ] - } - ] - }, - "name": "zero_value_for_split_t_uint256", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "5609:3:15", - "type": "" - } - ], - "src": "5564:73:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5696:136:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5706:46:15", - "value": { - "arguments": [], - "functionName": { - "name": "zero_value_for_split_t_uint256", - "nodeType": "YulIdentifier", - "src": "5720:30:15" - }, - "nodeType": "YulFunctionCall", - "src": "5720:32:15" - }, - "variables": [ - { - "name": "zero_0", - "nodeType": "YulTypedName", - "src": "5710:6:15", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "5805:4:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5811:6:15" - }, - { - "name": "zero_0", - "nodeType": "YulIdentifier", - "src": "5819:6:15" - } - ], - "functionName": { - "name": "update_storage_value_t_uint256_to_t_uint256", - "nodeType": "YulIdentifier", - "src": "5761:43:15" - }, - "nodeType": "YulFunctionCall", - "src": "5761:65:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5761:65:15" - } - ] - }, - "name": "storage_set_to_zero_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "5682:4:15", - "type": "" - }, - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5688:6:15", - "type": "" - } - ], - "src": "5643:189:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5888:136:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5955:63:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "5999:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6006:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "storage_set_to_zero_t_uint256", - "nodeType": "YulIdentifier", - "src": "5969:29:15" - }, - "nodeType": "YulFunctionCall", - "src": "5969:39:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5969:39:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "5908:5:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5915:3:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5905:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "5905:14:15" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "5920:26:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5922:22:15", - "value": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "5935:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5942:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5931:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5931:13:15" - }, - "variableNames": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "5922:5:15" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "5902:2:15", - "statements": [] - }, - "src": "5898:120:15" - } - ] - }, - "name": "clear_storage_range_t_bytes1", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "5876:5:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "5883:3:15", - "type": "" - } - ], - "src": "5838:186:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6109:464:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6135:431:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6149:54:15", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "6197:5:15" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nodeType": "YulIdentifier", - "src": "6165:31:15" - }, - "nodeType": "YulFunctionCall", - "src": "6165:38:15" - }, - "variables": [ - { - "name": "dataArea", - "nodeType": "YulTypedName", - "src": "6153:8:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6216:63:15", - "value": { - "arguments": [ - { - "name": "dataArea", - "nodeType": "YulIdentifier", - "src": "6239:8:15" - }, - { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "6267:10:15" - } - ], - "functionName": { - "name": "divide_by_32_ceil", - "nodeType": "YulIdentifier", - "src": "6249:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "6249:29:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6235:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6235:44:15" - }, - "variables": [ - { - "name": "deleteStart", - "nodeType": "YulTypedName", - "src": "6220:11:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6436:27:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6438:23:15", - "value": { - "name": "dataArea", - "nodeType": "YulIdentifier", - "src": "6453:8:15" - }, - "variableNames": [ - { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "6438:11:15" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "6420:10:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6432:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "6417:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "6417:18:15" - }, - "nodeType": "YulIf", - "src": "6414:49:15" - }, - { - "expression": { - "arguments": [ - { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "6505:11:15" - }, - { - "arguments": [ - { - "name": "dataArea", - "nodeType": "YulIdentifier", - "src": "6522:8:15" - }, - { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "6550:3:15" - } - ], - "functionName": { - "name": "divide_by_32_ceil", - "nodeType": "YulIdentifier", - "src": "6532:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "6532:22:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6518:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6518:37:15" - } - ], - "functionName": { - "name": "clear_storage_range_t_bytes1", - "nodeType": "YulIdentifier", - "src": "6476:28:15" - }, - "nodeType": "YulFunctionCall", - "src": "6476:80:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6476:80:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "6126:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6131:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6123:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "6123:11:15" - }, - "nodeType": "YulIf", - "src": "6120:446:15" - } - ] - }, - "name": "clean_up_bytearray_end_slots_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "6085:5:15", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "6092:3:15", - "type": "" - }, - { - "name": "startIndex", - "nodeType": "YulTypedName", - "src": "6097:10:15", - "type": "" - } - ], - "src": "6030:543:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6642:54:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6652:37:15", - "value": { - "arguments": [ - { - "name": "bits", - "nodeType": "YulIdentifier", - "src": "6677:4:15" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6683:5:15" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "6673:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6673:16:15" - }, - "variableNames": [ - { - "name": "newValue", - "nodeType": "YulIdentifier", - "src": "6652:8:15" - } - ] - } - ] - }, - "name": "shift_right_unsigned_dynamic", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "bits", - "nodeType": "YulTypedName", - "src": "6617:4:15", - "type": "" - }, - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6623:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "newValue", - "nodeType": "YulTypedName", - "src": "6633:8:15", - "type": "" - } - ], - "src": "6579:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6753:118:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6763:68:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6812:1:15", - "type": "", - "value": "8" - }, - { - "name": "bytes", - "nodeType": "YulIdentifier", - "src": "6815:5:15" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "6808:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6808:13:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6827:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "6823:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6823:6:15" - } - ], - "functionName": { - "name": "shift_right_unsigned_dynamic", - "nodeType": "YulIdentifier", - "src": "6779:28:15" - }, - "nodeType": "YulFunctionCall", - "src": "6779:51:15" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "6775:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6775:56:15" - }, - "variables": [ - { - "name": "mask", - "nodeType": "YulTypedName", - "src": "6767:4:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6840:25:15", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "6854:4:15" - }, - { - "name": "mask", - "nodeType": "YulIdentifier", - "src": "6860:4:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "6850:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6850:15:15" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "6840:6:15" - } - ] - } - ] - }, - "name": "mask_bytes_dynamic", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "6730:4:15", - "type": "" - }, - { - "name": "bytes", - "nodeType": "YulTypedName", - "src": "6736:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "6746:6:15", - "type": "" - } - ], - "src": "6702:169:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6957:214:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7090:37:15", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "7117:4:15" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "7123:3:15" - } - ], - "functionName": { - "name": "mask_bytes_dynamic", - "nodeType": "YulIdentifier", - "src": "7098:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "7098:29:15" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "7090:4:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7136:29:15", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "7147:4:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7157:1:15", - "type": "", - "value": "2" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "7160:3:15" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "7153:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7153:11:15" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "7144:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "7144:21:15" - }, - "variableNames": [ - { - "name": "used", - "nodeType": "YulIdentifier", - "src": "7136:4:15" - } - ] - } - ] - }, - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "6938:4:15", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "6944:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "used", - "nodeType": "YulTypedName", - "src": "6952:4:15", - "type": "" - } - ], - "src": "6876:295:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7268:1303:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7279:51:15", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "7326:3:15" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "7293:32:15" - }, - "nodeType": "YulFunctionCall", - "src": "7293:37:15" - }, - "variables": [ - { - "name": "newLen", - "nodeType": "YulTypedName", - "src": "7283:6:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7415:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "7417:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "7417:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7417:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "7387:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7395:18:15", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7384:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "7384:30:15" - }, - "nodeType": "YulIf", - "src": "7381:56:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7447:52:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "7493:4:15" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "7487:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "7487:11:15" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nodeType": "YulIdentifier", - "src": "7461:25:15" - }, - "nodeType": "YulFunctionCall", - "src": "7461:38:15" - }, - "variables": [ - { - "name": "oldLen", - "nodeType": "YulTypedName", - "src": "7451:6:15", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "7592:4:15" - }, - { - "name": "oldLen", - "nodeType": "YulIdentifier", - "src": "7598:6:15" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "7606:6:15" - } - ], - "functionName": { - "name": "clean_up_bytearray_end_slots_t_string_storage", - "nodeType": "YulIdentifier", - "src": "7546:45:15" - }, - "nodeType": "YulFunctionCall", - "src": "7546:67:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7546:67:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7623:18:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7640:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "srcOffset", - "nodeType": "YulTypedName", - "src": "7627:9:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7651:17:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7664:4:15", - "type": "", - "value": "0x20" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "7651:9:15" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7715:611:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7729:37:15", - "value": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "7748:6:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7760:4:15", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "7756:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7756:9:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7744:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7744:22:15" - }, - "variables": [ - { - "name": "loopEnd", - "nodeType": "YulTypedName", - "src": "7733:7:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7780:51:15", - "value": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "7826:4:15" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nodeType": "YulIdentifier", - "src": "7794:31:15" - }, - "nodeType": "YulFunctionCall", - "src": "7794:37:15" - }, - "variables": [ - { - "name": "dstPtr", - "nodeType": "YulTypedName", - "src": "7784:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7844:10:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7853:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "7848:1:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7912:163:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "7937:6:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "7955:3:15" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "7960:9:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7951:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7951:19:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7945:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "7945:26:15" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "7930:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7930:42:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7930:42:15" - }, - { - "nodeType": "YulAssignment", - "src": "7989:24:15", - "value": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "8003:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8011:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7999:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7999:14:15" - }, - "variableNames": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "7989:6:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8030:31:15", - "value": { - "arguments": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "8047:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8058:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8043:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8043:18:15" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "8030:9:15" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7878:1:15" - }, - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "7881:7:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "7875:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "7875:14:15" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "7890:21:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7892:17:15", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7901:1:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7904:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7897:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7897:12:15" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "7892:1:15" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "7871:3:15", - "statements": [] - }, - "src": "7867:208:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8111:156:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8129:43:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8156:3:15" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "8161:9:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8152:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8152:19:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8146:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "8146:26:15" - }, - "variables": [ - { - "name": "lastValue", - "nodeType": "YulTypedName", - "src": "8133:9:15", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "8196:6:15" - }, - { - "arguments": [ - { - "name": "lastValue", - "nodeType": "YulIdentifier", - "src": "8223:9:15" - }, - { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "8238:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8246:4:15", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8234:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8234:17:15" - } - ], - "functionName": { - "name": "mask_bytes_dynamic", - "nodeType": "YulIdentifier", - "src": "8204:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "8204:48:15" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "8189:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8189:64:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8189:64:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "8094:7:15" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "8103:6:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "8091:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "8091:19:15" - }, - "nodeType": "YulIf", - "src": "8088:179:15" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "8287:4:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "8301:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8309:1:15", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "8297:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8297:14:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8313:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8293:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8293:22:15" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "8280:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8280:36:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8280:36:15" - } - ] - }, - "nodeType": "YulCase", - "src": "7708:618:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7713:1:15", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8343:222:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8357:14:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8370:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8361:5:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8394:67:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8412:35:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8431:3:15" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "8436:9:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8427:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8427:19:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8421:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "8421:26:15" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8412:5:15" - } - ] - } - ] - }, - "condition": { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "8387:6:15" - }, - "nodeType": "YulIf", - "src": "8384:77:15" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "8481:4:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8540:5:15" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "8547:6:15" - } - ], - "functionName": { - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulIdentifier", - "src": "8487:52:15" - }, - "nodeType": "YulFunctionCall", - "src": "8487:67:15" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "8474:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8474:81:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8474:81:15" - } - ] - }, - "nodeType": "YulCase", - "src": "8335:230:15", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "7688:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7696:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7685:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "7685:14:15" - }, - "nodeType": "YulSwitch", - "src": "7678:887:15" - } - ] - }, - "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "7257:4:15", - "type": "" - }, - { - "name": "src", - "nodeType": "YulTypedName", - "src": "7263:3:15", - "type": "" - } - ], - "src": "7176:1395:15" - } - ] - }, - "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\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 mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", - "id": 15, - "language": "Yul", - "name": "#utility.yul" - } - ], - "deployedGeneratedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:23150:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "47:35:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "57:19:15", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "73:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "67:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "67:9:15" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "57:6:15" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "40:6:15", - "type": "" - } - ], - "src": "7:75:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "177:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "194:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "197:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "187:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "187:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "187:12:15" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulFunctionDefinition", - "src": "88:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "300:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "317:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "320:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "310:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "310:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "310:12:15" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulFunctionDefinition", - "src": "211:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "378:105:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "388:89:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "403:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "410:66:15", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "399:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "399:78:15" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "388:7:15" - } - ] - } - ] - }, - "name": "cleanup_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "360:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "370:7:15", - "type": "" - } - ], - "src": "334:149:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "531:78:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "587:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "596:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "599:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "589:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "589:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "589:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "554:5:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "578:5:15" - } - ], - "functionName": { - "name": "cleanup_t_bytes4", - "nodeType": "YulIdentifier", - "src": "561:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "561:23:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "551:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "551:34:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "544:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "544:42:15" - }, - "nodeType": "YulIf", - "src": "541:62:15" - } - ] - }, - "name": "validator_revert_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "524:5:15", - "type": "" - } - ], - "src": "489:120:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "666:86:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "676:29:15", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "698:6:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "685:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "685:20:15" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "676:5:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "740:5:15" - } - ], - "functionName": { - "name": "validator_revert_t_bytes4", - "nodeType": "YulIdentifier", - "src": "714:25:15" - }, - "nodeType": "YulFunctionCall", - "src": "714:32:15" - }, - "nodeType": "YulExpressionStatement", - "src": "714:32:15" - } - ] - }, - "name": "abi_decode_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "644:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "652:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "660:5:15", - "type": "" - } - ], - "src": "615:137:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "823:262:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "869:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "871:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "871:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "871:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "844:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "853:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "840:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "840:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "865:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "836:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "836:32:15" - }, - "nodeType": "YulIf", - "src": "833:119:15" - }, - { - "nodeType": "YulBlock", - "src": "962:116:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "977:15:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "991:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "981:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1006:62:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1040:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1051:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1036:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1036:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1060:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_bytes4", - "nodeType": "YulIdentifier", - "src": "1016:19:15" - }, - "nodeType": "YulFunctionCall", - "src": "1016:52:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1006:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "793:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "804:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "816:6:15", - "type": "" - } - ], - "src": "758:327:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1133:48:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1143:32:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1168:5:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1161:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1161:13:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1154:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1154:21:15" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "1143:7:15" - } - ] - } - ] - }, - "name": "cleanup_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1115:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "1125:7:15", - "type": "" - } - ], - "src": "1091:90:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1246:50:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1263:3:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1283:5:15" - } - ], - "functionName": { - "name": "cleanup_t_bool", - "nodeType": "YulIdentifier", - "src": "1268:14:15" - }, - "nodeType": "YulFunctionCall", - "src": "1268:21:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1256:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1256:34:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1256:34:15" - } - ] - }, - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1234:5:15", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1241:3:15", - "type": "" - } - ], - "src": "1187:109:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1394:118:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1404:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1416:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1427:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1412:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1412:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1404:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1478:6:15" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1491:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1502:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1487:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1487:17:15" - } - ], - "functionName": { - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nodeType": "YulIdentifier", - "src": "1440:37:15" - }, - "nodeType": "YulFunctionCall", - "src": "1440:65:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1440:65:15" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1366:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1378:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1389:4:15", - "type": "" - } - ], - "src": "1302:210:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1577:40:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1588:22:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1604:5:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1598:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "1598:12:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1588:6:15" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1560:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1570:6:15", - "type": "" - } - ], - "src": "1518:99:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1719:73:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1736:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1741:6:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1729:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1729:19:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1729:19:15" - }, - { - "nodeType": "YulAssignment", - "src": "1757:29:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1776:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1781:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1772:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1772:14:15" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "1757:11:15" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1691:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1696:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "1707:11:15", - "type": "" - } - ], - "src": "1623:169:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1860:184:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1870:10:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1879:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1874:1:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1939:63:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1964:3:15" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1969:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1960:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1960:11:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1983:3:15" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1988:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1979:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1979:11:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1973:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "1973:18:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1953:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1953:39:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1953:39:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1900:1:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1903:6:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1897:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1897:13:15" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1911:19:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1913:15:15", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1922:1:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1925:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1918:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1918:10:15" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1913:1:15" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1893:3:15", - "statements": [] - }, - "src": "1889:113:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2022:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2027:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2018:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2018:16:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2036:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2011:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2011:27:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2011:27:15" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1842:3:15", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "1847:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1852:6:15", - "type": "" - } - ], - "src": "1798:246:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2098:54:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2108:38:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2126:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2133:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2122:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2122:14:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2142:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2138:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2138:7:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2118:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2118:28:15" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "2108:6:15" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2081:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "2091:6:15", - "type": "" - } - ], - "src": "2050:102:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2250:285:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2260:53:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2307:5:15" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "2274:32:15" - }, - "nodeType": "YulFunctionCall", - "src": "2274:39:15" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2264:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2322:78:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2388:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2393:6:15" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "2329:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "2329:71:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2322:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2448:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2455:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2444:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2444:16:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2462:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2467:6:15" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "2409:34:15" - }, - "nodeType": "YulFunctionCall", - "src": "2409:65:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2409:65:15" - }, - { - "nodeType": "YulAssignment", - "src": "2483:46:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2494:3:15" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2521:6:15" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "2499:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "2499:29:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2490:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2490:39:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2483:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2231:5:15", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2238:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2246:3:15", - "type": "" - } - ], - "src": "2158:377:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2659:195:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2669:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2681:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2692:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2677:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2677:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2669:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2716:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2727:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2712:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2712:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2735:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2741:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2731:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2731:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2705:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2705:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2705:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "2761:86:15", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2833:6:15" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2842:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "2769:63:15" - }, - "nodeType": "YulFunctionCall", - "src": "2769:78:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2761: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": "2631:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2643:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2654:4:15", - "type": "" - } - ], - "src": "2541:313:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2905:32:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2915:16:15", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2926:5:15" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "2915:7:15" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2887:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "2897:7:15", - "type": "" - } - ], - "src": "2860:77:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2986:79:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3043:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3052:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3055:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3045:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3045:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3045:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3009:5:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3034:5:15" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "3016:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "3016:24:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3006:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "3006:35:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2999:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2999:43:15" - }, - "nodeType": "YulIf", - "src": "2996:63:15" - } - ] - }, - "name": "validator_revert_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2979:5:15", - "type": "" - } - ], - "src": "2943:122:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3123:87:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3133:29:15", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3155:6:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3142:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "3142:20:15" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3133:5:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3198:5:15" - } - ], - "functionName": { - "name": "validator_revert_t_uint256", - "nodeType": "YulIdentifier", - "src": "3171:26:15" - }, - "nodeType": "YulFunctionCall", - "src": "3171:33:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3171:33:15" - } - ] - }, - "name": "abi_decode_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3101:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3109:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3117:5:15", - "type": "" - } - ], - "src": "3071:139:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3282:263:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3328:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "3330:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "3330:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3330:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3303:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3312:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3299:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3299:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3324:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3295:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3295:32:15" - }, - "nodeType": "YulIf", - "src": "3292:119:15" - }, - { - "nodeType": "YulBlock", - "src": "3421:117:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3436:15:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3450:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3440:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3465:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3500:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3511:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3496:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3496:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3520:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "3475:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "3475:53:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3465:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3252:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3263:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3275:6:15", - "type": "" - } - ], - "src": "3216:329:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3596:81:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3606:65:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3621:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3628:42:15", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3617:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3617:54:15" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "3606:7:15" - } - ] - } - ] - }, - "name": "cleanup_t_uint160", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3578:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "3588:7:15", - "type": "" - } - ], - "src": "3551:126:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3728:51:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3738:35:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3767:5:15" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nodeType": "YulIdentifier", - "src": "3749:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "3749:24:15" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "3738:7:15" - } - ] - } - ] - }, - "name": "cleanup_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3710:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "3720:7:15", - "type": "" - } - ], - "src": "3683:96:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3850:53:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3867:3:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3890:5:15" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "3872:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "3872:24:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3860:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3860:37:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3860:37:15" - } - ] - }, - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3838:5:15", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "3845:3:15", - "type": "" - } - ], - "src": "3785:118:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4007:124:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4017:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4029:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4040:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4025:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4025:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4017:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4097:6:15" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4110:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4121:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4106:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4106:17:15" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "4053:43:15" - }, - "nodeType": "YulFunctionCall", - "src": "4053:71:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4053:71:15" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3979:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3991:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4002:4:15", - "type": "" - } - ], - "src": "3909:222:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4180:79:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4237:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4246:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4249:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4239:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "4239:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4239:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4203:5:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4228:5:15" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "4210:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "4210:24:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "4200:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "4200:35:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4193:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "4193:43:15" - }, - "nodeType": "YulIf", - "src": "4190:63:15" - } - ] - }, - "name": "validator_revert_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4173:5:15", - "type": "" - } - ], - "src": "4137:122:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4317:87:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4327:29:15", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4349:6:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4336:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "4336:20:15" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4327:5:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4392:5:15" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "4365:26:15" - }, - "nodeType": "YulFunctionCall", - "src": "4365:33:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4365:33:15" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4295:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "4303:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4311:5:15", - "type": "" - } - ], - "src": "4265:139:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4493:391:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4539:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "4541:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "4541:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "4541:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4514:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4523:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4510:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4510:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4535:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4506:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4506:32:15" - }, - "nodeType": "YulIf", - "src": "4503:119:15" - }, - { - "nodeType": "YulBlock", - "src": "4632:117:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4647:15:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4661:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4651:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4676:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4711:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4722:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4707:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4707:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4731:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "4686:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "4686:53:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4676:6:15" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "4759:118:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4774:16:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4788:2:15", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4778:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4804:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4839:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4850:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4835:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4835:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4859:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "4814:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "4814:53:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4804:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4455:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4466:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4478:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4486:6:15", - "type": "" - } - ], - "src": "4410:474:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4990:519:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5036:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "5038:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "5038:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5038:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5011:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5020:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5007:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5007:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5032:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5003:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5003:32:15" - }, - "nodeType": "YulIf", - "src": "5000:119:15" - }, - { - "nodeType": "YulBlock", - "src": "5129:117:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5144:15:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5158:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5148:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5173:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5208:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5219:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5204:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5204:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5228:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "5183:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "5183:53:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5173:6:15" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "5256:118:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5271:16:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:2:15", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5275:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5301:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5336:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5347:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5332:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5332:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5356:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "5311:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "5311:53:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5301:6:15" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "5384:118:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5399:16:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5413:2:15", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5403:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5429:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5464:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5475:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5460:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5460:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5484:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "5439:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "5439:53:15" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5429:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4944:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4955:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4967:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4975:6:15", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4983:6:15", - "type": "" - } - ], - "src": "4890:619:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5581:263:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5627:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "5629:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "5629:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5629:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5602:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5611:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5598:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5598:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5623:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5594:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5594:32:15" - }, - "nodeType": "YulIf", - "src": "5591:119:15" - }, - { - "nodeType": "YulBlock", - "src": "5720:117:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5735:15:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5749:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5739:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5764:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5799:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5810:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5795:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "5795:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5819:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "5774:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "5774:53:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5764:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5551:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5562:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5574:6:15", - "type": "" - } - ], - "src": "5515:329:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5915:53:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5932:3:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5955:5:15" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "5937:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "5937:24:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5925:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "5925:37:15" - }, - "nodeType": "YulExpressionStatement", - "src": "5925:37:15" - } - ] - }, - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5903:5:15", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "5910:3:15", - "type": "" - } - ], - "src": "5850:118:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6072:124:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6082:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6094:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6105:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6090:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6090:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6082:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6162:6:15" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6175:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6186:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6171:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6171:17:15" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "6118:43:15" - }, - "nodeType": "YulFunctionCall", - "src": "6118:71:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6118:71:15" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6044:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6056:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6067:4:15", - "type": "" - } - ], - "src": "5974:222:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6242:76:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6296:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6305:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6308:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6298:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6298:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6298:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6265:5:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6287:5:15" - } - ], - "functionName": { - "name": "cleanup_t_bool", - "nodeType": "YulIdentifier", - "src": "6272:14:15" - }, - "nodeType": "YulFunctionCall", - "src": "6272:21:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "6262:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "6262:32:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6255:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "6255:40:15" - }, - "nodeType": "YulIf", - "src": "6252:60:15" - } - ] - }, - "name": "validator_revert_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6235:5:15", - "type": "" - } - ], - "src": "6202:116:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6373:84:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6383:29:15", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6405:6:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6392:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "6392:20:15" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6383:5:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6445:5:15" - } - ], - "functionName": { - "name": "validator_revert_t_bool", - "nodeType": "YulIdentifier", - "src": "6421:23:15" - }, - "nodeType": "YulFunctionCall", - "src": "6421:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6421:30:15" - } - ] - }, - "name": "abi_decode_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6351:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "6359:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6367:5:15", - "type": "" - } - ], - "src": "6324:133:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6543:388:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6589:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "6591:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "6591:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "6591:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6564:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6573:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6560:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6560:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6585:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6556:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6556:32:15" - }, - "nodeType": "YulIf", - "src": "6553:119:15" - }, - { - "nodeType": "YulBlock", - "src": "6682:117:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6697:15:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6711:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6701:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6726:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6761:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6772:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6757:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6757:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6781:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "6736:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "6736:53:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6726:6:15" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6809:115:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6824:16:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6838:2:15", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6828:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6854:60:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6886:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6897:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6882:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "6882:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6906:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_bool", - "nodeType": "YulIdentifier", - "src": "6864:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "6864:50:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6854:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6505:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6516:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6528:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6536:6:15", - "type": "" - } - ], - "src": "6463:468:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7026:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7043:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7046:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7036:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7036:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7036:12:15" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulFunctionDefinition", - "src": "6937:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7149:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7166:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7169:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7159:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7159:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7159:12:15" - } - ] - }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulFunctionDefinition", - "src": "7060:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7211:152:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7228:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7231:77:15", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7221:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7221:88:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7221:88:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7325:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7328:4:15", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7318:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7318:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7318:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7349:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7352:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7342:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7342:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7342:15:15" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "7183:180:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7412:238:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7422:58:15", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7444:6:15" - }, - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "7474:4:15" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "7452:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "7452:27:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7440:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "7440:40:15" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "7426:10:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7591:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "7593:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "7593:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7593:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "7534:10:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7546:18:15", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7531:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "7531:34:15" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "7570:10:15" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7582:6:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "7567:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "7567:22:15" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "7528:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "7528:62:15" - }, - "nodeType": "YulIf", - "src": "7525:88:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7629:2:15", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "7633:10:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7622:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7622:22:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7622:22:15" - } - ] - }, - "name": "finalize_allocation", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "7398:6:15", - "type": "" - }, - { - "name": "size", - "nodeType": "YulTypedName", - "src": "7406:4:15", - "type": "" - } - ], - "src": "7369:281:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7697:88:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7707:30:15", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nodeType": "YulIdentifier", - "src": "7717:18:15" - }, - "nodeType": "YulFunctionCall", - "src": "7717:20:15" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7707:6:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7766:6:15" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "7774:4:15" - } - ], - "functionName": { - "name": "finalize_allocation", - "nodeType": "YulIdentifier", - "src": "7746:19:15" - }, - "nodeType": "YulFunctionCall", - "src": "7746:33:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7746:33:15" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "7681:4:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "7690:6:15", - "type": "" - } - ], - "src": "7656:129:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7857:241:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7962:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "7964:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "7964:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7964:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7934:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7942:18:15", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7931:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "7931:30:15" - }, - "nodeType": "YulIf", - "src": "7928:56:15" - }, - { - "nodeType": "YulAssignment", - "src": "7994:37:15", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8024:6:15" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "8002:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "8002:29:15" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "7994:4:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8068:23:15", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "8080:4:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8086:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8076:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8076:15:15" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "8068:4:15" - } - ] - } - ] - }, - "name": "array_allocation_size_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7841:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "7852:4:15", - "type": "" - } - ], - "src": "7791:307:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8168:82:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8191:3:15" - }, - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8196:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8201:6:15" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "8178:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "8178:30:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8178:30:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8228:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8233:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8224:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8224:16:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8242:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8217:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8217:27:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8217:27:15" - } - ] - }, - "name": "copy_calldata_to_memory_with_cleanup", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "8150:3:15", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "8155:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8160:6:15", - "type": "" - } - ], - "src": "8104:146:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8339:340:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8349:74:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8415:6:15" - } - ], - "functionName": { - "name": "array_allocation_size_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "8374:40:15" - }, - "nodeType": "YulFunctionCall", - "src": "8374:48:15" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "8358:15:15" - }, - "nodeType": "YulFunctionCall", - "src": "8358:65:15" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "8349:5:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "8439:5:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8446:6:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8432:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8432:21:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8432:21:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8462:27:15", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "8477:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8484:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8473:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8473:16:15" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "8466:3:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8527:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulIdentifier", - "src": "8529:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "8529:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8529:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8508:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8513:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8504:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8504:16:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8522:3:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8501:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "8501:25:15" - }, - "nodeType": "YulIf", - "src": "8498:112:15" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8656:3:15" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8661:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8666:6:15" - } - ], - "functionName": { - "name": "copy_calldata_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "8619:36:15" - }, - "nodeType": "YulFunctionCall", - "src": "8619:54:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8619:54:15" - } - ] - }, - "name": "abi_decode_available_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "8312:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8317:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8325:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "8333:5:15", - "type": "" - } - ], - "src": "8256:423:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8759:277:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8808:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "8810:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "8810:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8810:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8787:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8795:4:15", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8783:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8783:17:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8802:3:15" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8779:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8779:27:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8772:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8772:35:15" - }, - "nodeType": "YulIf", - "src": "8769:122:15" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8900:34:15", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8927:6:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8914:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "8914:20:15" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8904:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8943:87:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9003:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9011:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8999:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8999:17:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9018:6:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9026:3:15" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "8952:46:15" - }, - "nodeType": "YulFunctionCall", - "src": "8952:78:15" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "8943:5:15" - } - ] - } - ] - }, - "name": "abi_decode_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "8737:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8745:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "8753:5:15", - "type": "" - } - ], - "src": "8698:338:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9168:817:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9215:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "9217:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "9217:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9217:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9189:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9198:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9185:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9185:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9210:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "9181:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9181:33:15" - }, - "nodeType": "YulIf", - "src": "9178:120:15" - }, - { - "nodeType": "YulBlock", - "src": "9308:117:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9323:15:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9337:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9327:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9352:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9387:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9398:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9383:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9383:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9407:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "9362:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "9362:53:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9352:6:15" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "9435:118:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9450:16:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9464:2:15", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9454:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9480:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9515:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9526:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9511:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9511:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9535:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "9490:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "9490:53:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9480:6:15" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "9563:118:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9578:16:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9592:2:15", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9582:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9608:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9643:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9654:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9639:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9639:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9663:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "9618:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "9618:53:15" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "9608:6:15" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "9691:287:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9706:46:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9737:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9748:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9733:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9733:18:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9720:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "9720:32:15" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9710:6:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9799:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "9801:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "9801:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9801:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9771:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9779:18:15", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9768:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "9768:30:15" - }, - "nodeType": "YulIf", - "src": "9765:117:15" - }, - { - "nodeType": "YulAssignment", - "src": "9896:72:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9940:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9951:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9936:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9936:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9960:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "9906:29:15" - }, - "nodeType": "YulFunctionCall", - "src": "9906:62:15" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "9896:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9114:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "9125:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9137:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9145:6:15", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9153:6:15", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "9161:6:15", - "type": "" - } - ], - "src": "9042:943:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10074:391:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10120:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "10122:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "10122:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10122:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10095:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10104:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10091:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10091:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10116:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "10087:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10087:32:15" - }, - "nodeType": "YulIf", - "src": "10084:119:15" - }, - { - "nodeType": "YulBlock", - "src": "10213:117:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10228:15:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10242:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "10232:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10257:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10292:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "10303:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10288:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10288:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10312:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "10267:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "10267:53:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10257:6:15" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "10340:118:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10355:16:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10369:2:15", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "10359:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10385:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10420:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "10431:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10416:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10416:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10440:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "10395:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "10395:53:15" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10385:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10036:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "10047:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10059:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "10067:6:15", - "type": "" - } - ], - "src": "9991:474:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10499:152:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10516:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10519:77:15", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10509:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10509:88:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10509:88:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10613:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10616:4:15", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10606:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10606:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10606:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10637:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10640:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10630:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10630:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10630:15:15" - } - ] - }, - "name": "panic_error_0x22", - "nodeType": "YulFunctionDefinition", - "src": "10471:180:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10708:269:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10718:22:15", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "10732:4:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10738:1:15", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "10728:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10728:12:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10718:6:15" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10749:38:15", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "10779:4:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10785:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10775:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10775:12:15" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "10753:18:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10826:51:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10840:27:15", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10854:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10862:4:15", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10850:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "10850:17:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10840:6:15" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "10806:18:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10799:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "10799:26:15" - }, - "nodeType": "YulIf", - "src": "10796:81:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10929:42:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x22", - "nodeType": "YulIdentifier", - "src": "10943:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "10943:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "10943:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "10893:18:15" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10916:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10924:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "10913:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "10913:14:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "10890:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "10890:38:15" - }, - "nodeType": "YulIf", - "src": "10887:84:15" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "10692:4:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10701:6:15", - "type": "" - } - ], - "src": "10657:320:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11089:114:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "11111:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11119:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11107:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11107:14:15" - }, - { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11123:34:15", - "type": "", - "value": "ERC721: approval to current owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11100:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11100:58:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11100:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "11179:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11187:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11175:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11175:15:15" - }, - { - "hexValue": "72", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11192:3:15", - "type": "", - "value": "r" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11168:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11168:28:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11168:28:15" - } - ] - }, - "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "11081:6:15", - "type": "" - } - ], - "src": "10983:220:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11355:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11365:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11431:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11436:2:15", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "11372:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "11372:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11365:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11537:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "nodeType": "YulIdentifier", - "src": "11448:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "11448:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11448:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "11550:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11561:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11566:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11557:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11557:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11550:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "11343:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11351:3:15", - "type": "" - } - ], - "src": "11209:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11752:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11762:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11774:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11785:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11770:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11770:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11762:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11809:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11820:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11805:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11805:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11828:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11834:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "11824:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "11824:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11798:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "11798:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "11798:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "11854:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11988:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "11862:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "11862:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11854:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11732:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11747:4:15", - "type": "" - } - ], - "src": "11581:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12112:142:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "12134:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12142:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12130:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "12130:14:15" - }, - { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "12146:34:15", - "type": "", - "value": "ERC721: approve caller is not to" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12123:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "12123:58:15" - }, - "nodeType": "YulExpressionStatement", - "src": "12123:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "12202:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12210:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12198:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "12198:15:15" - }, - { - "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", - "kind": "string", - "nodeType": "YulLiteral", - "src": "12215:31:15", - "type": "", - "value": "ken owner or approved for all" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12191:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "12191:56:15" - }, - "nodeType": "YulExpressionStatement", - "src": "12191:56:15" - } - ] - }, - "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "12104:6:15", - "type": "" - } - ], - "src": "12006:248:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12406:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12416:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12482:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12487:2:15", - "type": "", - "value": "61" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "12423:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "12423:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12416:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12588:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", - "nodeType": "YulIdentifier", - "src": "12499:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "12499:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "12499:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "12601:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12612:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12617:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12608:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "12608:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "12601:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "12394:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "12402:3:15", - "type": "" - } - ], - "src": "12260:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12803:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12813:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12825:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12836:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12821:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "12821:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12813:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12860:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12871:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12856:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "12856:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12879:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12885:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12875:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "12875:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12849:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "12849:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "12849:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "12905:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13039:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "12913:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "12913:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12905:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12783:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12798:4:15", - "type": "" - } - ], - "src": "12632:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13163:126:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "13185:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13193:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13181:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "13181:14:15" - }, - { - "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "13197:34:15", - "type": "", - "value": "ERC721: caller is not token owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13174:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "13174:58:15" - }, - "nodeType": "YulExpressionStatement", - "src": "13174:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "13253:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13261:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13249:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "13249:15:15" - }, - { - "hexValue": "72206f7220617070726f766564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "13266:15:15", - "type": "", - "value": "r or approved" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13242:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "13242:40:15" - }, - "nodeType": "YulExpressionStatement", - "src": "13242:40:15" - } - ] - }, - "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "13155:6:15", - "type": "" - } - ], - "src": "13057:232:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13441:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13451:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13517:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13522:2:15", - "type": "", - "value": "45" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "13458:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "13458:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13451:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13623:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", - "nodeType": "YulIdentifier", - "src": "13534:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "13534:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "13534:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "13636:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13647:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13652:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13643:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "13643:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "13636:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "13429:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "13437:3:15", - "type": "" - } - ], - "src": "13295:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13838:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13848:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13860:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13871:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13856:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "13856:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13848:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13895:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13906:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13891:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "13891:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13914:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13920:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "13910:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "13910:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13884:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "13884:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "13884:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "13940:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14074:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "13948:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "13948:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13940:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13818:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13833:4:15", - "type": "" - } - ], - "src": "13667:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14198:68:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "14220:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14228:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14216:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "14216:14:15" - }, - { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "kind": "string", - "nodeType": "YulLiteral", - "src": "14232:26:15", - "type": "", - "value": "ERC721: invalid token ID" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14209:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "14209:50:15" - }, - "nodeType": "YulExpressionStatement", - "src": "14209:50:15" - } - ] - }, - "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "14190:6:15", - "type": "" - } - ], - "src": "14092:174:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14418:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14428:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14494:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14499:2:15", - "type": "", - "value": "24" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "14435:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "14435:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14428:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14600:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "nodeType": "YulIdentifier", - "src": "14511:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "14511:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "14511:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "14613:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14624:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14629:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14620:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "14620:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "14613:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "14406:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "14414:3:15", - "type": "" - } - ], - "src": "14272:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14815:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14825:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14837:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14848:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14833:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "14833:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14825:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14872:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14883:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14868:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "14868:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14891:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14897:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14887:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "14887:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14861:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "14861:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "14861:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "14917:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15051:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "14925:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "14925:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14917:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14795:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14810:4:15", - "type": "" - } - ], - "src": "14644:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15175:122:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "15197:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15205:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15193:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "15193:14:15" - }, - { - "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15209:34:15", - "type": "", - "value": "ERC721: address zero is not a va" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15186:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "15186:58:15" - }, - "nodeType": "YulExpressionStatement", - "src": "15186:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "15265:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15273:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15261:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "15261:15:15" - }, - { - "hexValue": "6c6964206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15278:11:15", - "type": "", - "value": "lid owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15254:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "15254:36:15" - }, - "nodeType": "YulExpressionStatement", - "src": "15254:36:15" - } - ] - }, - "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "15167:6:15", - "type": "" - } - ], - "src": "15069:228:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15449:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "15459:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15525:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15530:2:15", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "15466:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "15466:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15459:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15631:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", - "nodeType": "YulIdentifier", - "src": "15542:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "15542:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "15542:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "15644:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15655:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15660:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15651:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "15651:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "15644:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "15437:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "15445:3:15", - "type": "" - } - ], - "src": "15303:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15846:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "15856:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15868:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15879:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15864:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "15864:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15856:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15903:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15914:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15899:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "15899:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15922:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15928:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "15918:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "15918:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15892:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "15892:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "15892:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "15948:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16082:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "15956:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "15956:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15948:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15826:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15841:4:15", - "type": "" - } - ], - "src": "15675:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16214:34:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16224:18:15", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16239:3:15" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "16224:11:15" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "16186:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "16191:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "16202:11:15", - "type": "" - } - ], - "src": "16100:148:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16364:280:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "16374:53:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "16421:5:15" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "16388:32:15" - }, - "nodeType": "YulFunctionCall", - "src": "16388:39:15" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "16378:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "16436:96:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16520:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16525:6:15" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "16443:76:15" - }, - "nodeType": "YulFunctionCall", - "src": "16443:89:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16436:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "16580:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16587:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16576:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "16576:16:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16594:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16599:6:15" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "16541:34:15" - }, - "nodeType": "YulFunctionCall", - "src": "16541:65:15" - }, - "nodeType": "YulExpressionStatement", - "src": "16541:65:15" - }, - { - "nodeType": "YulAssignment", - "src": "16615:23:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16626:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16631:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16622:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "16622:16:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "16615:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "16345:5:15", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "16352:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "16360:3:15", - "type": "" - } - ], - "src": "16254:390:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16834:251:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16845:102:15", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16934:6:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16943:3:15" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "16852:81:15" - }, - "nodeType": "YulFunctionCall", - "src": "16852:95:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16845:3:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "16957:102:15", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "17046:6:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17055:3:15" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "16964:81:15" - }, - "nodeType": "YulFunctionCall", - "src": "16964:95:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16957:3:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "17069:10:15", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17076:3:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "17069: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": "16805:3:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "16811:6:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "16819:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "16830:3:15", - "type": "" - } - ], - "src": "16650:435:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17197:118:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "17219:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17227:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17215:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "17215:14:15" - }, - { - "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", - "kind": "string", - "nodeType": "YulLiteral", - "src": "17231:34:15", - "type": "", - "value": "ERC721: transfer from incorrect " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17208:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "17208:58:15" - }, - "nodeType": "YulExpressionStatement", - "src": "17208:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "17287:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17295:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17283:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "17283:15:15" - }, - { - "hexValue": "6f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "17300:7:15", - "type": "", - "value": "owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17276:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "17276:32:15" - }, - "nodeType": "YulExpressionStatement", - "src": "17276:32:15" - } - ] - }, - "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "17189:6:15", - "type": "" - } - ], - "src": "17091:224:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17467:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17477:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17543:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17548:2:15", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "17484:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "17484:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17477:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17649:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", - "nodeType": "YulIdentifier", - "src": "17560:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "17560:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "17560:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "17662:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17673:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17678:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17669:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "17669:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "17662:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "17455:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "17463:3:15", - "type": "" - } - ], - "src": "17321:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17864:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17874:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17886:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17897:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17882:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "17882:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17874:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17921:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17932:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17917:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "17917:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17940:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17946:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17936:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "17936:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17910:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "17910:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "17910:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "17966:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18100:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "17974:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "17974:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17966:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17844:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17859:4:15", - "type": "" - } - ], - "src": "17693:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18224:117:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "18246:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18254:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18242:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "18242:14:15" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", - "kind": "string", - "nodeType": "YulLiteral", - "src": "18258:34:15", - "type": "", - "value": "ERC721: transfer to the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18235:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "18235:58:15" - }, - "nodeType": "YulExpressionStatement", - "src": "18235:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "18314:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18322:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18310:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "18310:15:15" - }, - { - "hexValue": "72657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "18327:6:15", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18303:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "18303:31:15" - }, - "nodeType": "YulExpressionStatement", - "src": "18303:31:15" - } - ] - }, - "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "18216:6:15", - "type": "" - } - ], - "src": "18118:223:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18493:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18503:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "18569:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18574:2:15", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "18510:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "18510:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "18503:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "18675:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "nodeType": "YulIdentifier", - "src": "18586:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "18586:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "18586:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "18688:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "18699:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18704:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18695:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "18695:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "18688:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "18481:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "18489:3:15", - "type": "" - } - ], - "src": "18347:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18890:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18900:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18912:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18923:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18908:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "18908:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18900:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18947:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18958:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18943:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "18943:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18966:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18972:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18962:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "18962:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18936:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "18936:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "18936:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "18992:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19126:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "19000:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "19000:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18992:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18870:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18885:4:15", - "type": "" - } - ], - "src": "18719:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19250:69:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "19272:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19280:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19268:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "19268:14:15" - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "19284:27:15", - "type": "", - "value": "ERC721: approve to caller" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19261:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "19261:51:15" - }, - "nodeType": "YulExpressionStatement", - "src": "19261:51:15" - } - ] - }, - "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "19242:6:15", - "type": "" - } - ], - "src": "19144:175:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19471:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19481:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19547:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19552:2:15", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "19488:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "19488:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19481:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19653:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "nodeType": "YulIdentifier", - "src": "19564:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "19564:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "19564:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "19666:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19677:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19682:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19673:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "19673:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "19666:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "19459:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "19467:3:15", - "type": "" - } - ], - "src": "19325:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19868:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19878:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19890:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19901:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19886:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "19886:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19878:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19925:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19936:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19921:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "19921:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19944:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19950:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "19940:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "19940:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19914:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "19914:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "19914:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "19970:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20104:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "19978:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "19978:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19970:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19848:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19863:4:15", - "type": "" - } - ], - "src": "19697:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20228:131:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "20250:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20258:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20246:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "20246:14:15" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "20262:34:15", - "type": "", - "value": "ERC721: transfer to non ERC721Re" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20239:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "20239:58:15" - }, - "nodeType": "YulExpressionStatement", - "src": "20239:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "20318:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20326:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20314:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "20314:15:15" - }, - { - "hexValue": "63656976657220696d706c656d656e746572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "20331:20:15", - "type": "", - "value": "ceiver implementer" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20307:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "20307:45:15" - }, - "nodeType": "YulExpressionStatement", - "src": "20307:45:15" - } - ] - }, - "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "20220:6:15", - "type": "" - } - ], - "src": "20122:237:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20511:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20521:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20587:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20592:2:15", - "type": "", - "value": "50" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "20528:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "20528:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20521:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20693:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "nodeType": "YulIdentifier", - "src": "20604:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "20604:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "20604:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "20706:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20717:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20722:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20713:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "20713:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "20706:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "20499:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "20507:3:15", - "type": "" - } - ], - "src": "20365:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20908:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20918:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20930:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20941:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20926:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "20926:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20918:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20965:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20976:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20961:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "20961:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20984:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20990:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20980:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "20980:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20954:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "20954:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "20954:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "21010:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21144:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "21018:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "21018:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21010:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "20888:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "20903:4:15", - "type": "" - } - ], - "src": "20737:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21190:152:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21207:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21210:77:15", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21200:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "21200:88:15" - }, - "nodeType": "YulExpressionStatement", - "src": "21200:88:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21304:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21307:4:15", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21297:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "21297:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "21297:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21328:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21331:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "21321:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "21321:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "21321:15:15" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "21162:180:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21406:40:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21417:22:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "21433:5:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "21427:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "21427:12:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21417:6:15" - } - ] - } - ] - }, - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "21389:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "21399:6:15", - "type": "" - } - ], - "src": "21348:98:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21547:73:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21564:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21569:6:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21557:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "21557:19:15" - }, - "nodeType": "YulExpressionStatement", - "src": "21557:19:15" - }, - { - "nodeType": "YulAssignment", - "src": "21585:29:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21604:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21609:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21600:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "21600:14:15" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "21585:11:15" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "21519:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "21524:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "21535:11:15", - "type": "" - } - ], - "src": "21452:168:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21716:283:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "21726:52:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "21772:5:15" - } - ], - "functionName": { - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "21740:31:15" - }, - "nodeType": "YulFunctionCall", - "src": "21740:38:15" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "21730:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "21787:77:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21852:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21857:6:15" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "21794:57:15" - }, - "nodeType": "YulFunctionCall", - "src": "21794:70:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21787:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "21912:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21919:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21908:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "21908:16:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21926:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21931:6:15" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "21873:34:15" - }, - "nodeType": "YulFunctionCall", - "src": "21873:65:15" - }, - "nodeType": "YulExpressionStatement", - "src": "21873:65:15" - }, - { - "nodeType": "YulAssignment", - "src": "21947:46:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21958:3:15" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21985:6:15" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "21963:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "21963:29:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21954:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "21954:39:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21947:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "21697:5:15", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "21704:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "21712:3:15", - "type": "" - } - ], - "src": "21626:373:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22205:440:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22215:27:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22227:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22238:3:15", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22223:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22223:19:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22215:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "22296:6:15" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22309:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22320:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22305:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22305:17:15" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "22252:43:15" - }, - "nodeType": "YulFunctionCall", - "src": "22252:71:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22252:71:15" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "22377:6:15" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22390:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22401:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22386:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22386:18:15" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "22333:43:15" - }, - "nodeType": "YulFunctionCall", - "src": "22333:72:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22333:72:15" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "22459:6:15" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22472:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22483:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22468:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22468:18:15" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "22415:43:15" - }, - "nodeType": "YulFunctionCall", - "src": "22415:72:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22415:72:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22508:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22519:2:15", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22504:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22504:18:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22528:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22534:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "22524:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22524:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22497:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "22497:48:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22497:48:15" - }, - { - "nodeType": "YulAssignment", - "src": "22554:84:15", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "22624:6:15" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22633:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "22562:61:15" - }, - "nodeType": "YulFunctionCall", - "src": "22562:76:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22554: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": "22153:9:15", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "22165:6:15", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "22173:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "22181:6:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22189:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "22200:4:15", - "type": "" - } - ], - "src": "22005:640:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22713:79:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22723:22:15", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "22738:6:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "22732:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "22732:13:15" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "22723:5:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "22780:5:15" - } - ], - "functionName": { - "name": "validator_revert_t_bytes4", - "nodeType": "YulIdentifier", - "src": "22754:25:15" - }, - "nodeType": "YulFunctionCall", - "src": "22754:32:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22754:32:15" - } - ] - }, - "name": "abi_decode_t_bytes4_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "22691:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "22699:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "22707:5:15", - "type": "" - } - ], - "src": "22651:141:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22874:273:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "22920:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "22922:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "22922:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22922:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "22895:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22904:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "22891:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22891:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22916:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "22887:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22887:32:15" - }, - "nodeType": "YulIf", - "src": "22884:119:15" - }, - { - "nodeType": "YulBlock", - "src": "23013:127:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "23028:15:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23042:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "23032:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "23057:73:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23102:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "23113:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23098:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "23098:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "23122:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_bytes4_fromMemory", - "nodeType": "YulIdentifier", - "src": "23067:30:15" - }, - "nodeType": "YulFunctionCall", - "src": "23067:63:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "23057:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22844:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "22855:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22867:6:15", - "type": "" - } - ], - "src": "22798:349:15" - } - ] - }, - "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\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 mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\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 pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\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 tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", - "id": 15, - "language": "Yul", - "name": "#utility.yul" - } - ], - "sourceMap": "628:16377:0:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1464:5;1456;:13;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;:::i;:::-;;1390:113;;628:16377;;7:75:15;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:853::-;2776:6;2784;2833:2;2821:9;2812:7;2808:23;2804:32;2801:119;;;2839:79;;:::i;:::-;2801:119;2980:1;2969:9;2965:17;2959:24;3010:18;3002:6;2999:30;2996:117;;;3032:79;;:::i;:::-;2996:117;3137:74;3203:7;3194:6;3183:9;3179:22;3137:74;:::i;:::-;3127:84;;2930:291;3281:2;3270:9;3266:18;3260:25;3312:18;3304:6;3301:30;3298:117;;;3334:79;;:::i;:::-;3298:117;3439:74;3505:7;3496:6;3485:9;3481:22;3439:74;:::i;:::-;3429:84;;3231:292;2677:853;;;;;:::o;3536:99::-;3588:6;3622:5;3616:12;3606:22;;3536:99;;;:::o;3641:180::-;3689:77;3686:1;3679:88;3786:4;3783:1;3776:15;3810:4;3807:1;3800:15;3827:320;3871:6;3908:1;3902:4;3898:12;3888:22;;3955:1;3949:4;3945:12;3976:18;3966:81;;4032:4;4024:6;4020:17;4010:27;;3966:81;4094:2;4086:6;4083:14;4063:18;4060:38;4057:84;;4113:18;;:::i;:::-;4057:84;3878:269;3827:320;;;:::o;4153:141::-;4202:4;4225:3;4217:11;;4248:3;4245:1;4238:14;4282:4;4279:1;4269:18;4261:26;;4153:141;;;:::o;4300:93::-;4337:6;4384:2;4379;4372:5;4368:14;4364:23;4354:33;;4300:93;;;:::o;4399:107::-;4443:8;4493:5;4487:4;4483:16;4462:37;;4399:107;;;;:::o;4512:393::-;4581:6;4631:1;4619:10;4615:18;4654:97;4684:66;4673:9;4654:97;:::i;:::-;4772:39;4802:8;4791:9;4772:39;:::i;:::-;4760:51;;4844:4;4840:9;4833:5;4829:21;4820:30;;4893:4;4883:8;4879:19;4872:5;4869:30;4859:40;;4588:317;;4512:393;;;;;:::o;4911:77::-;4948:7;4977:5;4966:16;;4911:77;;;:::o;4994:60::-;5022:3;5043:5;5036:12;;4994:60;;;:::o;5060:142::-;5110:9;5143:53;5161:34;5170:24;5188:5;5170:24;:::i;:::-;5161:34;:::i;:::-;5143:53;:::i;:::-;5130:66;;5060:142;;;:::o;5208:75::-;5251:3;5272:5;5265:12;;5208:75;;;:::o;5289:269::-;5399:39;5430:7;5399:39;:::i;:::-;5460:91;5509:41;5533:16;5509:41;:::i;:::-;5501:6;5494:4;5488:11;5460:91;:::i;:::-;5454:4;5447:105;5365:193;5289:269;;;:::o;5564:73::-;5609:3;5564:73;:::o;5643:189::-;5720:32;;:::i;:::-;5761:65;5819:6;5811;5805:4;5761:65;:::i;:::-;5696:136;5643:189;;:::o;5838:186::-;5898:120;5915:3;5908:5;5905:14;5898:120;;;5969:39;6006:1;5999:5;5969:39;:::i;:::-;5942:1;5935:5;5931:13;5922:22;;5898:120;;;5838:186;;:::o;6030:543::-;6131:2;6126:3;6123:11;6120:446;;;6165:38;6197:5;6165:38;:::i;:::-;6249:29;6267:10;6249:29;:::i;:::-;6239:8;6235:44;6432:2;6420:10;6417:18;6414:49;;;6453:8;6438:23;;6414:49;6476:80;6532:22;6550:3;6532:22;:::i;:::-;6522:8;6518:37;6505:11;6476:80;:::i;:::-;6135:431;;6120:446;6030:543;;;:::o;6579:117::-;6633:8;6683:5;6677:4;6673:16;6652:37;;6579:117;;;;:::o;6702:169::-;6746:6;6779:51;6827:1;6823:6;6815:5;6812:1;6808:13;6779:51;:::i;:::-;6775:56;6860:4;6854;6850:15;6840:25;;6753:118;6702:169;;;;:::o;6876:295::-;6952:4;7098:29;7123:3;7117:4;7098:29;:::i;:::-;7090:37;;7160:3;7157:1;7153:11;7147:4;7144:21;7136:29;;6876:295;;;;:::o;7176:1395::-;7293:37;7326:3;7293:37;:::i;:::-;7395:18;7387:6;7384:30;7381:56;;;7417:18;;:::i;:::-;7381:56;7461:38;7493:4;7487:11;7461:38;:::i;:::-;7546:67;7606:6;7598;7592:4;7546:67;:::i;:::-;7640:1;7664:4;7651:17;;7696:2;7688:6;7685:14;7713:1;7708:618;;;;8370:1;8387:6;8384:77;;;8436:9;8431:3;8427:19;8421:26;8412:35;;8384:77;8487:67;8547:6;8540:5;8487:67;:::i;:::-;8481:4;8474:81;8343:222;7678:887;;7708:618;7760:4;7756:9;7748:6;7744:22;7794:37;7826:4;7794:37;:::i;:::-;7853:1;7867:208;7881:7;7878:1;7875:14;7867:208;;;7960:9;7955:3;7951:19;7945:26;7937:6;7930:42;8011:1;8003:6;7999:14;7989:24;;8058:2;8047:9;8043:18;8030:31;;7904:4;7901:1;7897:12;7892:17;;7867:208;;;8103:6;8094:7;8091:19;8088:179;;;8161:9;8156:3;8152:19;8146:26;8204:48;8246:4;8238:6;8234:17;8223:9;8204:48;:::i;:::-;8196:6;8189:64;8111:156;8088:179;8313:1;8309;8301:6;8297:14;8293:22;8287:4;8280:36;7715:611;;;7678:887;;7268:1303;;;7176:1395;;:::o;628:16377:0:-;;;;;;;", - "deployedSourceMap": "628:16377:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4974:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2801;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4388:162;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1570:300;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;2190:219::-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;1929:204::-;2001:7;2045:1;2028:19;;:5;:19;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;4169:153::-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;:8;:10::i;:::-;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;;;2801:276;;;:::o;4388:162::-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;829:155:9:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;13240:133:0:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;640:96:6:-;693:7;719:10;712:17;;640:96;:::o;12572:171:0:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;6702:115::-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;12879:277::-;12999:8;12990:17;;:5;:17;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;3319:92::-;3370:13;3395:9;;;;;;;;;;;;;;3319:92;:::o;447:696:8:-;503:13;552:14;589:1;569:17;580:5;569:10;:17::i;:::-;:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:41;;659:11;785:6;781:2;777:15;769:6;765:28;758:35;;820:280;827:4;820:280;;;851:5;;;;;;;;990:8;985:2;978:5;974:14;969:30;964:3;956:44;1044:2;1035:11;;;;;;:::i;:::-;;;;;1077:1;1068:5;:10;820:280;1064:21;820:280;1120:6;1113:13;;;;;447:696;;;:::o;7120:126:0:-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;15472:116::-;;;;;:::o;16294:115::-;;;;;:::o;13925:831::-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;10139:916:11:-;10192:7;10211:14;10228:1;10211:18;;10276:8;10267:5;:17;10263:103;;10313:8;10304:17;;;;;;:::i;:::-;;;;;10349:2;10339:12;;;;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;;;;:::i;:::-;;;;;10465:2;10455:12;;;;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;;;;:::i;:::-;;;;;10581:2;10571:12;;;;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;;;;:::i;:::-;;;;;10695:1;10685:11;;;;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;;;;:::i;:::-;;;;;10808:1;10798:11;;;;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;;;;:::i;:::-;;;;;10921:1;10911:11;;;;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;;;;10950:66;11042:6;11035:13;;;10139:916;;;:::o;1412:320:4:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;7:75:15:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:246::-;1879:1;1889:113;1903:6;1900:1;1897:13;1889:113;;;1988:1;1983:3;1979:11;1973:18;1969:1;1964:3;1960:11;1953:39;1925:2;1922:1;1918:10;1913:15;;1889:113;;;2036:1;2027:6;2022:3;2018:16;2011:27;1860:184;1798:246;;;:::o;2050:102::-;2091:6;2142:2;2138:7;2133:2;2126:5;2122:14;2118:28;2108:38;;2050:102;;;:::o;2158:377::-;2246:3;2274:39;2307:5;2274:39;:::i;:::-;2329:71;2393:6;2388:3;2329:71;:::i;:::-;2322:78;;2409:65;2467:6;2462:3;2455:4;2448:5;2444:16;2409:65;:::i;:::-;2499:29;2521:6;2499:29;:::i;:::-;2494:3;2490:39;2483:46;;2250:285;2158:377;;;;:::o;2541:313::-;2654:4;2692:2;2681:9;2677:18;2669:26;;2741:9;2735:4;2731:20;2727:1;2716:9;2712:17;2705:47;2769:78;2842:4;2833:6;2769:78;:::i;:::-;2761:86;;2541:313;;;;:::o;2860:77::-;2897:7;2926:5;2915:16;;2860:77;;;:::o;2943:122::-;3016:24;3034:5;3016:24;:::i;:::-;3009:5;3006:35;2996:63;;3055:1;3052;3045:12;2996:63;2943:122;:::o;3071:139::-;3117:5;3155:6;3142:20;3133:29;;3171:33;3198:5;3171:33;:::i;:::-;3071:139;;;;:::o;3216:329::-;3275:6;3324:2;3312:9;3303:7;3299:23;3295:32;3292:119;;;3330:79;;:::i;:::-;3292:119;3450:1;3475:53;3520:7;3511:6;3500:9;3496:22;3475:53;:::i;:::-;3465:63;;3421:117;3216:329;;;;:::o;3551:126::-;3588:7;3628:42;3621:5;3617:54;3606:65;;3551:126;;;:::o;3683:96::-;3720:7;3749:24;3767:5;3749:24;:::i;:::-;3738:35;;3683:96;;;:::o;3785:118::-;3872:24;3890:5;3872:24;:::i;:::-;3867:3;3860:37;3785:118;;:::o;3909:222::-;4002:4;4040:2;4029:9;4025:18;4017:26;;4053:71;4121:1;4110:9;4106:17;4097:6;4053:71;:::i;:::-;3909:222;;;;:::o;4137:122::-;4210:24;4228:5;4210:24;:::i;:::-;4203:5;4200:35;4190:63;;4249:1;4246;4239:12;4190:63;4137:122;:::o;4265:139::-;4311:5;4349:6;4336:20;4327:29;;4365:33;4392:5;4365:33;:::i;:::-;4265:139;;;;:::o;4410:474::-;4478:6;4486;4535:2;4523:9;4514:7;4510:23;4506:32;4503:119;;;4541:79;;:::i;:::-;4503:119;4661:1;4686:53;4731:7;4722:6;4711:9;4707:22;4686:53;:::i;:::-;4676:63;;4632:117;4788:2;4814:53;4859:7;4850:6;4839:9;4835:22;4814:53;:::i;:::-;4804:63;;4759:118;4410:474;;;;;:::o;4890:619::-;4967:6;4975;4983;5032:2;5020:9;5011:7;5007:23;5003:32;5000:119;;;5038:79;;:::i;:::-;5000:119;5158:1;5183:53;5228:7;5219:6;5208:9;5204:22;5183:53;:::i;:::-;5173:63;;5129:117;5285:2;5311:53;5356:7;5347:6;5336:9;5332:22;5311:53;:::i;:::-;5301:63;;5256:118;5413:2;5439:53;5484:7;5475:6;5464:9;5460:22;5439:53;:::i;:::-;5429:63;;5384:118;4890:619;;;;;:::o;5515:329::-;5574:6;5623:2;5611:9;5602:7;5598:23;5594:32;5591:119;;;5629:79;;:::i;:::-;5591:119;5749:1;5774:53;5819:7;5810:6;5799:9;5795:22;5774:53;:::i;:::-;5764:63;;5720:117;5515:329;;;;:::o;5850:118::-;5937:24;5955:5;5937:24;:::i;:::-;5932:3;5925:37;5850:118;;:::o;5974:222::-;6067:4;6105:2;6094:9;6090:18;6082:26;;6118:71;6186:1;6175:9;6171:17;6162:6;6118:71;:::i;:::-;5974:222;;;;:::o;6202:116::-;6272:21;6287:5;6272:21;:::i;:::-;6265:5;6262:32;6252:60;;6308:1;6305;6298:12;6252:60;6202:116;:::o;6324:133::-;6367:5;6405:6;6392:20;6383:29;;6421:30;6445:5;6421:30;:::i;:::-;6324:133;;;;:::o;6463:468::-;6528:6;6536;6585:2;6573:9;6564:7;6560:23;6556:32;6553:119;;;6591:79;;:::i;:::-;6553:119;6711:1;6736:53;6781:7;6772:6;6761:9;6757:22;6736:53;:::i;:::-;6726:63;;6682:117;6838:2;6864:50;6906:7;6897:6;6886:9;6882:22;6864:50;:::i;:::-;6854:60;;6809:115;6463:468;;;;;:::o;6937:117::-;7046:1;7043;7036:12;7060:117;7169:1;7166;7159:12;7183:180;7231:77;7228:1;7221:88;7328:4;7325:1;7318:15;7352:4;7349:1;7342:15;7369:281;7452:27;7474:4;7452:27;:::i;:::-;7444:6;7440:40;7582:6;7570:10;7567:22;7546:18;7534:10;7531:34;7528:62;7525:88;;;7593:18;;:::i;:::-;7525:88;7633:10;7629:2;7622:22;7412:238;7369:281;;:::o;7656:129::-;7690:6;7717:20;;:::i;:::-;7707:30;;7746:33;7774:4;7766:6;7746:33;:::i;:::-;7656:129;;;:::o;7791:307::-;7852:4;7942:18;7934:6;7931:30;7928:56;;;7964:18;;:::i;:::-;7928:56;8002:29;8024:6;8002:29;:::i;:::-;7994:37;;8086:4;8080;8076:15;8068:23;;7791:307;;;:::o;8104:146::-;8201:6;8196:3;8191;8178:30;8242:1;8233:6;8228:3;8224:16;8217:27;8104:146;;;:::o;8256:423::-;8333:5;8358:65;8374:48;8415:6;8374:48;:::i;:::-;8358:65;:::i;:::-;8349:74;;8446:6;8439:5;8432:21;8484:4;8477:5;8473:16;8522:3;8513:6;8508:3;8504:16;8501:25;8498:112;;;8529:79;;:::i;:::-;8498:112;8619:54;8666:6;8661:3;8656;8619:54;:::i;:::-;8339:340;8256:423;;;;;:::o;8698:338::-;8753:5;8802:3;8795:4;8787:6;8783:17;8779:27;8769:122;;8810:79;;:::i;:::-;8769:122;8927:6;8914:20;8952:78;9026:3;9018:6;9011:4;9003:6;8999:17;8952:78;:::i;:::-;8943:87;;8759:277;8698:338;;;;:::o;9042:943::-;9137:6;9145;9153;9161;9210:3;9198:9;9189:7;9185:23;9181:33;9178:120;;;9217:79;;:::i;:::-;9178:120;9337:1;9362:53;9407:7;9398:6;9387:9;9383:22;9362:53;:::i;:::-;9352:63;;9308:117;9464:2;9490:53;9535:7;9526:6;9515:9;9511:22;9490:53;:::i;:::-;9480:63;;9435:118;9592:2;9618:53;9663:7;9654:6;9643:9;9639:22;9618:53;:::i;:::-;9608:63;;9563:118;9748:2;9737:9;9733:18;9720:32;9779:18;9771:6;9768:30;9765:117;;;9801:79;;:::i;:::-;9765:117;9906:62;9960:7;9951:6;9940:9;9936:22;9906:62;:::i;:::-;9896:72;;9691:287;9042:943;;;;;;;:::o;9991:474::-;10059:6;10067;10116:2;10104:9;10095:7;10091:23;10087:32;10084:119;;;10122:79;;:::i;:::-;10084:119;10242:1;10267:53;10312:7;10303:6;10292:9;10288:22;10267:53;:::i;:::-;10257:63;;10213:117;10369:2;10395:53;10440:7;10431:6;10420:9;10416:22;10395:53;:::i;:::-;10385:63;;10340:118;9991:474;;;;;:::o;10471:180::-;10519:77;10516:1;10509:88;10616:4;10613:1;10606:15;10640:4;10637:1;10630:15;10657:320;10701:6;10738:1;10732:4;10728:12;10718:22;;10785:1;10779:4;10775:12;10806:18;10796:81;;10862:4;10854:6;10850:17;10840:27;;10796:81;10924:2;10916:6;10913:14;10893:18;10890:38;10887:84;;10943:18;;:::i;:::-;10887:84;10708:269;10657:320;;;:::o;10983:220::-;11123:34;11119:1;11111:6;11107:14;11100:58;11192:3;11187:2;11179:6;11175:15;11168:28;10983:220;:::o;11209:366::-;11351:3;11372:67;11436:2;11431:3;11372:67;:::i;:::-;11365:74;;11448:93;11537:3;11448:93;:::i;:::-;11566:2;11561:3;11557:12;11550:19;;11209:366;;;:::o;11581:419::-;11747:4;11785:2;11774:9;11770:18;11762:26;;11834:9;11828:4;11824:20;11820:1;11809:9;11805:17;11798:47;11862:131;11988:4;11862:131;:::i;:::-;11854:139;;11581:419;;;:::o;12006:248::-;12146:34;12142:1;12134:6;12130:14;12123:58;12215:31;12210:2;12202:6;12198:15;12191:56;12006:248;:::o;12260:366::-;12402:3;12423:67;12487:2;12482:3;12423:67;:::i;:::-;12416:74;;12499:93;12588:3;12499:93;:::i;:::-;12617:2;12612:3;12608:12;12601:19;;12260:366;;;:::o;12632:419::-;12798:4;12836:2;12825:9;12821:18;12813:26;;12885:9;12879:4;12875:20;12871:1;12860:9;12856:17;12849:47;12913:131;13039:4;12913:131;:::i;:::-;12905:139;;12632:419;;;:::o;13057:232::-;13197:34;13193:1;13185:6;13181:14;13174:58;13266:15;13261:2;13253:6;13249:15;13242:40;13057:232;:::o;13295:366::-;13437:3;13458:67;13522:2;13517:3;13458:67;:::i;:::-;13451:74;;13534:93;13623:3;13534:93;:::i;:::-;13652:2;13647:3;13643:12;13636:19;;13295:366;;;:::o;13667:419::-;13833:4;13871:2;13860:9;13856:18;13848:26;;13920:9;13914:4;13910:20;13906:1;13895:9;13891:17;13884:47;13948:131;14074:4;13948:131;:::i;:::-;13940:139;;13667:419;;;:::o;14092:174::-;14232:26;14228:1;14220:6;14216:14;14209:50;14092:174;:::o;14272:366::-;14414:3;14435:67;14499:2;14494:3;14435:67;:::i;:::-;14428:74;;14511:93;14600:3;14511:93;:::i;:::-;14629:2;14624:3;14620:12;14613:19;;14272:366;;;:::o;14644:419::-;14810:4;14848:2;14837:9;14833:18;14825:26;;14897:9;14891:4;14887:20;14883:1;14872:9;14868:17;14861:47;14925:131;15051:4;14925:131;:::i;:::-;14917:139;;14644:419;;;:::o;15069:228::-;15209:34;15205:1;15197:6;15193:14;15186:58;15278:11;15273:2;15265:6;15261:15;15254:36;15069:228;:::o;15303:366::-;15445:3;15466:67;15530:2;15525:3;15466:67;:::i;:::-;15459:74;;15542:93;15631:3;15542:93;:::i;:::-;15660:2;15655:3;15651:12;15644:19;;15303:366;;;:::o;15675:419::-;15841:4;15879:2;15868:9;15864:18;15856:26;;15928:9;15922:4;15918:20;15914:1;15903:9;15899:17;15892:47;15956:131;16082:4;15956:131;:::i;:::-;15948:139;;15675:419;;;:::o;16100:148::-;16202:11;16239:3;16224:18;;16100:148;;;;:::o;16254:390::-;16360:3;16388:39;16421:5;16388:39;:::i;:::-;16443:89;16525:6;16520:3;16443:89;:::i;:::-;16436:96;;16541:65;16599:6;16594:3;16587:4;16580:5;16576:16;16541:65;:::i;:::-;16631:6;16626:3;16622:16;16615:23;;16364:280;16254:390;;;;:::o;16650:435::-;16830:3;16852:95;16943:3;16934:6;16852:95;:::i;:::-;16845:102;;16964:95;17055:3;17046:6;16964:95;:::i;:::-;16957:102;;17076:3;17069:10;;16650:435;;;;;:::o;17091:224::-;17231:34;17227:1;17219:6;17215:14;17208:58;17300:7;17295:2;17287:6;17283:15;17276:32;17091:224;:::o;17321:366::-;17463:3;17484:67;17548:2;17543:3;17484:67;:::i;:::-;17477:74;;17560:93;17649:3;17560:93;:::i;:::-;17678:2;17673:3;17669:12;17662:19;;17321:366;;;:::o;17693:419::-;17859:4;17897:2;17886:9;17882:18;17874:26;;17946:9;17940:4;17936:20;17932:1;17921:9;17917:17;17910:47;17974:131;18100:4;17974:131;:::i;:::-;17966:139;;17693:419;;;:::o;18118:223::-;18258:34;18254:1;18246:6;18242:14;18235:58;18327:6;18322:2;18314:6;18310:15;18303:31;18118:223;:::o;18347:366::-;18489:3;18510:67;18574:2;18569:3;18510:67;:::i;:::-;18503:74;;18586:93;18675:3;18586:93;:::i;:::-;18704:2;18699:3;18695:12;18688:19;;18347:366;;;:::o;18719:419::-;18885:4;18923:2;18912:9;18908:18;18900:26;;18972:9;18966:4;18962:20;18958:1;18947:9;18943:17;18936:47;19000:131;19126:4;19000:131;:::i;:::-;18992:139;;18719:419;;;:::o;19144:175::-;19284:27;19280:1;19272:6;19268:14;19261:51;19144:175;:::o;19325:366::-;19467:3;19488:67;19552:2;19547:3;19488:67;:::i;:::-;19481:74;;19564:93;19653:3;19564:93;:::i;:::-;19682:2;19677:3;19673:12;19666:19;;19325:366;;;:::o;19697:419::-;19863:4;19901:2;19890:9;19886:18;19878:26;;19950:9;19944:4;19940:20;19936:1;19925:9;19921:17;19914:47;19978:131;20104:4;19978:131;:::i;:::-;19970:139;;19697:419;;;:::o;20122:237::-;20262:34;20258:1;20250:6;20246:14;20239:58;20331:20;20326:2;20318:6;20314:15;20307:45;20122:237;:::o;20365:366::-;20507:3;20528:67;20592:2;20587:3;20528:67;:::i;:::-;20521:74;;20604:93;20693:3;20604:93;:::i;:::-;20722:2;20717:3;20713:12;20706:19;;20365:366;;;:::o;20737:419::-;20903:4;20941:2;20930:9;20926:18;20918:26;;20990:9;20984:4;20980:20;20976:1;20965:9;20961:17;20954:47;21018:131;21144:4;21018:131;:::i;:::-;21010:139;;20737:419;;;:::o;21162:180::-;21210:77;21207:1;21200:88;21307:4;21304:1;21297:15;21331:4;21328:1;21321:15;21348:98;21399:6;21433:5;21427:12;21417:22;;21348:98;;;:::o;21452:168::-;21535:11;21569:6;21564:3;21557:19;21609:4;21604:3;21600:14;21585:29;;21452:168;;;;:::o;21626:373::-;21712:3;21740:38;21772:5;21740:38;:::i;:::-;21794:70;21857:6;21852:3;21794:70;:::i;:::-;21787:77;;21873:65;21931:6;21926:3;21919:4;21912:5;21908:16;21873:65;:::i;:::-;21963:29;21985:6;21963:29;:::i;:::-;21958:3;21954:39;21947:46;;21716:283;21626:373;;;;:::o;22005:640::-;22200:4;22238:3;22227:9;22223:19;22215:27;;22252:71;22320:1;22309:9;22305:17;22296:6;22252:71;:::i;:::-;22333:72;22401:2;22390:9;22386:18;22377:6;22333:72;:::i;:::-;22415;22483:2;22472:9;22468:18;22459:6;22415:72;:::i;:::-;22534:9;22528:4;22524:20;22519:2;22508:9;22504:18;22497:48;22562:76;22633:4;22624:6;22562:76;:::i;:::-;22554:84;;22005:640;;;;;;;:::o;22651:141::-;22707:5;22738:6;22732:13;22723:22;;22754:32;22780:5;22754:32;:::i;:::-;22651:141;;;;:::o;22798:349::-;22867:6;22916:2;22904:9;22895:7;22891:23;22887:32;22884:119;;;22922:79;;:::i;:::-;22884:119;23042:1;23067:63;23122:7;23113:6;23102:9;23098:22;23067:63;:::i;:::-;23057:73;;23013:127;22798:349;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (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: address zero is not a valid owner\");\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 = _ownerOf(tokenId);\n require(owner != address(0), \"ERC721: invalid token ID\");\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 _requireMinted(tokenId);\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 overridden 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 token owner or 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 _requireMinted(tokenId);\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(address from, address to, uint256 tokenId) public virtual override {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n\n _transfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public virtual override {\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or 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(address from, address to, uint256 tokenId, bytes memory data) 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 the owner of the `tokenId`. Does NOT revert if token doesn't exist\n */\n function _ownerOf(uint256 tokenId) internal view virtual returns (address) {\n return _owners[tokenId];\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 _ownerOf(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 address owner = ERC721.ownerOf(tokenId);\n return (spender == owner || isApprovedForAll(owner, spender) || getApproved(tokenId) == 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(address to, uint256 tokenId, bytes memory data) 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, 1);\n\n // Check that tokenId was not minted by `_beforeTokenTransfer` hook\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n unchecked {\n // Will not overflow unless all 2**256 token ids are minted to the same owner.\n // Given that tokens are minted one by one, it is impossible in practice that\n // this ever happens. Might change if we allow batch minting.\n // The ERC fails to describe this case.\n _balances[to] += 1;\n }\n\n _owners[tokenId] = to;\n\n emit Transfer(address(0), to, tokenId);\n\n _afterTokenTransfer(address(0), to, tokenId, 1);\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n * This is an internal function that does not check if the sender is authorized to operate on the token.\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, 1);\n\n // Update ownership in case tokenId was transferred by `_beforeTokenTransfer` hook\n owner = ERC721.ownerOf(tokenId);\n\n // Clear approvals\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // Cannot overflow, as that would require more tokens to be burned/transferred\n // out than the owner initially received through minting and transferring in.\n _balances[owner] -= 1;\n }\n delete _owners[tokenId];\n\n emit Transfer(owner, address(0), tokenId);\n\n _afterTokenTransfer(owner, address(0), tokenId, 1);\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(address from, address to, uint256 tokenId) internal virtual {\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n require(to != address(0), \"ERC721: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, tokenId, 1);\n\n // Check that tokenId was not transferred by `_beforeTokenTransfer` hook\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n\n // Clear approvals from the previous owner\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // `_balances[from]` cannot overflow for the same reason as described in `_burn`:\n // `from`'s balance is the number of token held, which is at least one before the current\n // transfer.\n // `_balances[to]` could overflow in the conditions described in `_mint`. That would require\n // all 2**256 token ids to be minted, which in practice is impossible.\n _balances[from] -= 1;\n _balances[to] += 1;\n }\n _owners[tokenId] = to;\n\n emit Transfer(from, to, tokenId);\n\n _afterTokenTransfer(from, to, tokenId, 1);\n }\n\n /**\n * @dev Approve `to` to operate on `tokenId`\n *\n * Emits an {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 an {ApprovalForAll} event.\n */\n function _setApprovalForAll(address owner, address operator, bool approved) 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 Reverts if the `tokenId` has not been minted yet.\n */\n function _requireMinted(uint256 tokenId) internal view virtual {\n require(_exists(tokenId), \"ERC721: invalid token ID\");\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 /// @solidity memory-safe-assembly\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 and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n * - When `from` is zero, the tokens will be minted for `to`.\n * - When `to` is zero, ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual {}\n\n /**\n * @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n * - When `from` is zero, the tokens were minted for `to`.\n * - When `to` is zero, ``from``'s tokens were burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual {}\n\n /**\n * @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n *\n * WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n * being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n * that `ownerOf(tokenId)` is `a`.\n */\n // solhint-disable-next-line func-name-mixedcase\n function __unsafe_increaseBalance(address account, uint256 amount) internal {\n _balances[account] += amount;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "exportedSymbols": { - "Address": [ - 1417 - ], - "Context": [ - 1486 - ], - "ERC165": [ - 1813 - ], - "ERC721": [ - 926 - ], - "IERC165": [ - 1825 - ], - "IERC721": [ - 1042 - ], - "IERC721Metadata": [ - 1087 - ], - "IERC721Receiver": [ - 1060 - ], - "Math": [ - 2691 - ], - "SignedMath": [ - 2796 - ], - "Strings": [ - 1789 - ] - }, - "id": 927, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "107:23:0" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 2, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 927, - "sourceUnit": 1043, - "src": "132:23:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "./IERC721Receiver.sol", - "id": 3, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 927, - "sourceUnit": 1061, - "src": "156:31:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", - "file": "./extensions/IERC721Metadata.sol", - "id": 4, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 927, - "sourceUnit": 1088, - "src": "188:42:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 5, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 927, - "sourceUnit": 1418, - "src": "231:33:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 6, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 927, - "sourceUnit": 1487, - "src": "265:33:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "../../utils/Strings.sol", - "id": 7, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 927, - "sourceUnit": 1790, - "src": "299:33:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "file": "../../utils/introspection/ERC165.sol", - "id": 8, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 927, - "sourceUnit": 1814, - "src": "333:46:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 10, - "name": "Context", - "nameLocations": [ - "647:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1486, - "src": "647:7:0" - }, - "id": 11, - "nodeType": "InheritanceSpecifier", - "src": "647:7:0" - }, - { - "baseName": { - "id": 12, - "name": "ERC165", - "nameLocations": [ - "656:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1813, - "src": "656:6:0" - }, - "id": 13, - "nodeType": "InheritanceSpecifier", - "src": "656:6:0" - }, - { - "baseName": { - "id": 14, - "name": "IERC721", - "nameLocations": [ - "664:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1042, - "src": "664:7:0" - }, - "id": 15, - "nodeType": "InheritanceSpecifier", - "src": "664:7:0" - }, - { - "baseName": { - "id": 16, - "name": "IERC721Metadata", - "nameLocations": [ - "673:15:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1087, - "src": "673:15:0" - }, - "id": 17, - "nodeType": "InheritanceSpecifier", - "src": "673:15:0" - } - ], - "canonicalName": "ERC721", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 9, - "nodeType": "StructuredDocumentation", - "src": "381:246:0", - "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": 926, - "linearizedBaseContracts": [ - 926, - 1087, - 1042, - 1813, - 1825, - 1486 - ], - "name": "ERC721", - "nameLocation": "637:6:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "global": false, - "id": 20, - "libraryName": { - "id": 18, - "name": "Address", - "nameLocations": [ - "701:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1417, - "src": "701:7:0" - }, - "nodeType": "UsingForDirective", - "src": "695:26:0", - "typeName": { - "id": 19, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "713:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "global": false, - "id": 23, - "libraryName": { - "id": 21, - "name": "Strings", - "nameLocations": [ - "732:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1789, - "src": "732:7:0" - }, - "nodeType": "UsingForDirective", - "src": "726:26:0", - "typeName": { - "id": 22, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "744:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 25, - "mutability": "mutable", - "name": "_name", - "nameLocation": "791:5:0", - "nodeType": "VariableDeclaration", - "scope": 926, - "src": "776:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 24, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "776:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 27, - "mutability": "mutable", - "name": "_symbol", - "nameLocation": "838:7:0", - "nodeType": "VariableDeclaration", - "scope": 926, - "src": "823:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 26, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "823:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 31, - "mutability": "mutable", - "name": "_owners", - "nameLocation": "934:7:0", - "nodeType": "VariableDeclaration", - "scope": 926, - "src": "898:43:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 30, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 28, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "906:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "898:27:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 29, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "917:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 35, - "mutability": "mutable", - "name": "_balances", - "nameLocation": "1028:9:0", - "nodeType": "VariableDeclaration", - "scope": 926, - "src": "992:45:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 34, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 32, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1000:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "992:27:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 33, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1011:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 39, - "mutability": "mutable", - "name": "_tokenApprovals", - "nameLocation": "1129:15:0", - "nodeType": "VariableDeclaration", - "scope": 926, - "src": "1093:51:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 38, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 36, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1101:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1093:27:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 37, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1112:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 45, - "mutability": "mutable", - "name": "_operatorApprovals", - "nameLocation": "1252:18:0", - "nodeType": "VariableDeclaration", - "scope": 926, - "src": "1199:71:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 44, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 40, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1207:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1199:44:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 43, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 41, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1226:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1218:24:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 42, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1237:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "visibility": "private" - }, - { - "body": { - "id": 61, - "nodeType": "Block", - "src": "1446:57:0", - "statements": [ - { - "expression": { - "id": 55, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 53, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "1456:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 54, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 48, - "src": "1464:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1456:13:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 56, - "nodeType": "ExpressionStatement", - "src": "1456:13:0" - }, - { - "expression": { - "id": 59, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 57, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "1479:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 58, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "1489:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1479:17:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 60, - "nodeType": "ExpressionStatement", - "src": "1479:17:0" - } - ] - }, - "documentation": { - "id": 46, - "nodeType": "StructuredDocumentation", - "src": "1277:108:0", - "text": " @dev Initializes the contract by setting a `name` and a `symbol` to the token collection." - }, - "id": 62, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 51, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 48, - "mutability": "mutable", - "name": "name_", - "nameLocation": "1416:5:0", - "nodeType": "VariableDeclaration", - "scope": 62, - "src": "1402:19:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 47, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1402:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 50, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "1437:7:0", - "nodeType": "VariableDeclaration", - "scope": 62, - "src": "1423:21:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 49, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1423:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1401:44:0" - }, - "returnParameters": { - "id": 52, - "nodeType": "ParameterList", - "parameters": [], - "src": "1446:0:0" - }, - "scope": 926, - "src": "1390:113:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 1812, - 1824 - ], - "body": { - "id": 92, - "nodeType": "Block", - "src": "1678:192:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 78, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 73, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1707:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 75, - "name": "IERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1042, - "src": "1727:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721_$1042_$", - "typeString": "type(contract IERC721)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC721_$1042_$", - "typeString": "type(contract IERC721)" - } - ], - "id": 74, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "1722:4:0", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1722:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$1042", - "typeString": "type(contract IERC721)" - } - }, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1736:11:0", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1722:25:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1707:40:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 79, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1763:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 81, - "name": "IERC721Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1087, - "src": "1783:15:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1087_$", - "typeString": "type(contract IERC721Metadata)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1087_$", - "typeString": "type(contract IERC721Metadata)" - } - ], - "id": 80, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "1778:4:0", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1778:21:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$1087", - "typeString": "type(contract IERC721Metadata)" - } - }, - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1800:11:0", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1778:33:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1763:48:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1707:104:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 88, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "1851:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 86, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1827:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721_$926_$", - "typeString": "type(contract super ERC721)" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1833:17:0", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 1812, - "src": "1827:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 89, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1827:36:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1707:156:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 72, - "id": 91, - "nodeType": "Return", - "src": "1688:175:0" - } - ] - }, - "documentation": { - "id": 63, - "nodeType": "StructuredDocumentation", - "src": "1509:56:0", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 93, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "1579:17:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 69, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 67, - "name": "ERC165", - "nameLocations": [ - "1646:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1813, - "src": "1646:6:0" - }, - { - "id": 68, - "name": "IERC165", - "nameLocations": [ - "1654:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1825, - "src": "1654:7:0" - } - ], - "src": "1637:25:0" - }, - "parameters": { - "id": 66, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 65, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "1604:11:0", - "nodeType": "VariableDeclaration", - "scope": 93, - "src": "1597:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 64, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1597:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1596:20:0" - }, - "returnParameters": { - "id": 72, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 71, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 93, - "src": "1672:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 70, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1672:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1671:6:0" - }, - "scope": 926, - "src": "1570:300:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 967 - ], - "body": { - "id": 116, - "nodeType": "Block", - "src": "2010:123:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 103, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2028:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2045: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": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2037:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2037:7:0", - "typeDescriptions": {} - } - }, - "id": 107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2037:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2028:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572", - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2049:43:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", - "typeString": "literal_string \"ERC721: address zero is not a valid owner\"" - }, - "value": "ERC721: address zero is not a valid owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", - "typeString": "literal_string \"ERC721: address zero is not a valid owner\"" - } - ], - "id": 102, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2020:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2020:73:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 111, - "nodeType": "ExpressionStatement", - "src": "2020:73:0" - }, - { - "expression": { - "baseExpression": { - "id": 112, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "2110:9:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 114, - "indexExpression": { - "id": 113, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2120:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2110:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 101, - "id": 115, - "nodeType": "Return", - "src": "2103:23:0" - } - ] - }, - "documentation": { - "id": 94, - "nodeType": "StructuredDocumentation", - "src": "1876:48:0", - "text": " @dev See {IERC721-balanceOf}." - }, - "functionSelector": "70a08231", - "id": 117, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "1938:9:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 98, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1983:8:0" - }, - "parameters": { - "id": 97, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 96, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1956:5:0", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1948:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 95, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1948:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1947:15:0" - }, - "returnParameters": { - "id": 101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 100, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "2001:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 99, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2000:9:0" - }, - "scope": 926, - "src": "1929:204:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 975 - ], - "body": { - "id": 144, - "nodeType": "Block", - "src": "2271:138:0", - "statements": [ - { - "assignments": [ - 127 - ], - "declarations": [ - { - "constant": false, - "id": 127, - "mutability": "mutable", - "name": "owner", - "nameLocation": "2289:5:0", - "nodeType": "VariableDeclaration", - "scope": 144, - "src": "2281:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2281:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 131, - "initialValue": { - "arguments": [ - { - "id": 129, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "2306:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 128, - "name": "_ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "2297:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2297:17:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2281:33:0" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 133, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 127, - "src": "2332:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2349: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": 135, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2341:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2341:7:0", - "typeDescriptions": {} - } - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2341:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2332:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "id": 139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2353:26:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "typeString": "literal_string \"ERC721: invalid token ID\"" - }, - "value": "ERC721: invalid token ID" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "typeString": "literal_string \"ERC721: invalid token ID\"" - } - ], - "id": 132, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2324:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2324:56:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 141, - "nodeType": "ExpressionStatement", - "src": "2324:56:0" - }, - { - "expression": { - "id": 142, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 127, - "src": "2397:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 125, - "id": 143, - "nodeType": "Return", - "src": "2390:12:0" - } - ] - }, - "documentation": { - "id": 118, - "nodeType": "StructuredDocumentation", - "src": "2139:46:0", - "text": " @dev See {IERC721-ownerOf}." - }, - "functionSelector": "6352211e", - "id": 145, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nameLocation": "2199:7:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 122, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2244:8:0" - }, - "parameters": { - "id": 121, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 120, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2215:7:0", - "nodeType": "VariableDeclaration", - "scope": 145, - "src": "2207:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2207:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2206:17:0" - }, - "returnParameters": { - "id": 125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 124, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 145, - "src": "2262:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 123, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2262:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2261:9:0" - }, - "scope": 926, - "src": "2190:219:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1072 - ], - "body": { - "id": 154, - "nodeType": "Block", - "src": "2540:29:0", - "statements": [ - { - "expression": { - "id": 152, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "2557:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 151, - "id": 153, - "nodeType": "Return", - "src": "2550:12:0" - } - ] - }, - "documentation": { - "id": 146, - "nodeType": "StructuredDocumentation", - "src": "2415:51:0", - "text": " @dev See {IERC721Metadata-name}." - }, - "functionSelector": "06fdde03", - "id": 155, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "2480:4:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 148, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2507:8:0" - }, - "parameters": { - "id": 147, - "nodeType": "ParameterList", - "parameters": [], - "src": "2484:2:0" - }, - "returnParameters": { - "id": 151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 150, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 155, - "src": "2525:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 149, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2525:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2524:15:0" - }, - "scope": 926, - "src": "2471:98:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1078 - ], - "body": { - "id": 164, - "nodeType": "Block", - "src": "2704:31:0", - "statements": [ - { - "expression": { - "id": 162, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "2721:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 161, - "id": 163, - "nodeType": "Return", - "src": "2714:14:0" - } - ] - }, - "documentation": { - "id": 156, - "nodeType": "StructuredDocumentation", - "src": "2575:53:0", - "text": " @dev See {IERC721Metadata-symbol}." - }, - "functionSelector": "95d89b41", - "id": 165, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "2642:6:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 158, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2671:8:0" - }, - "parameters": { - "id": 157, - "nodeType": "ParameterList", - "parameters": [], - "src": "2648:2:0" - }, - "returnParameters": { - "id": 161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 160, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 165, - "src": "2689:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 159, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2689:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2688:15:0" - }, - "scope": 926, - "src": "2633:102:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1086 - ], - "body": { - "id": 203, - "nodeType": "Block", - "src": "2889:188:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 175, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 168, - "src": "2914:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 174, - "name": "_requireMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "2899:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", - "typeString": "function (uint256) view" - } - }, - "id": 176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2899:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 177, - "nodeType": "ExpressionStatement", - "src": "2899:23:0" - }, - { - "assignments": [ - 179 - ], - "declarations": [ - { - "constant": false, - "id": 179, - "mutability": "mutable", - "name": "baseURI", - "nameLocation": "2947:7:0", - "nodeType": "VariableDeclaration", - "scope": 203, - "src": "2933:21:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 178, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2933:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 182, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 180, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2957:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2957:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2933:34:0" - }, - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 185, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "2990:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2984:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 183, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2984:5:0", - "typeDescriptions": {} - } - }, - "id": 186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2984:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2999:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2984:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3008:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2984:25:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "", - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3068:2:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "2984:86:0", - "trueExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 194, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3036:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 195, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 168, - "src": "3045:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3053:8:0", - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 1619, - "src": "3045:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3045:18:0", - "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": 192, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "3019:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3023:12:0", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3019:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3019:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3012:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 190, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3012:6:0", - "typeDescriptions": {} - } - }, - "id": 199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3012:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 173, - "id": 202, - "nodeType": "Return", - "src": "2977:93:0" - } - ] - }, - "documentation": { - "id": 166, - "nodeType": "StructuredDocumentation", - "src": "2741:55:0", - "text": " @dev See {IERC721Metadata-tokenURI}." - }, - "functionSelector": "c87b56dd", - "id": 204, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "2810:8:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 170, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2856:8:0" - }, - "parameters": { - "id": 169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2827:7:0", - "nodeType": "VariableDeclaration", - "scope": 204, - "src": "2819:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2819:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2818:17:0" - }, - "returnParameters": { - "id": 173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 172, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 204, - "src": "2874:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 171, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2874:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2873:15:0" - }, - "scope": 926, - "src": "2801:276:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 212, - "nodeType": "Block", - "src": "3385:26:0", - "statements": [ - { - "expression": { - "hexValue": "", - "id": 210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3402:2:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "functionReturnParameters": 209, - "id": 211, - "nodeType": "Return", - "src": "3395:9:0" - } - ] - }, - "documentation": { - "id": 205, - "nodeType": "StructuredDocumentation", - "src": "3083:231:0", - "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 overridden in child contracts." - }, - "id": 213, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseURI", - "nameLocation": "3328:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 206, - "nodeType": "ParameterList", - "parameters": [], - "src": "3336:2:0" - }, - "returnParameters": { - "id": 209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 208, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 213, - "src": "3370:13:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 207, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3370:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3369:15:0" - }, - "scope": 926, - "src": "3319:92:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 1015 - ], - "body": { - "id": 255, - "nodeType": "Block", - "src": "3538:336:0", - "statements": [ - { - "assignments": [ - 223 - ], - "declarations": [ - { - "constant": false, - "id": 223, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3556:5:0", - "nodeType": "VariableDeclaration", - "scope": 255, - "src": "3548:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 222, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3548:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 228, - "initialValue": { - "arguments": [ - { - "id": 226, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "3579:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 224, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "3564:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3571:7:0", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "3564:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3564:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3548:39:0" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 230, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3605:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 231, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 223, - "src": "3611:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3605:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3618:35:0", - "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": 229, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3597:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3597:57:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 235, - "nodeType": "ExpressionStatement", - "src": "3597:57:0" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 237, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "3686:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3686:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 239, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 223, - "src": "3702:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3686:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 242, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 223, - "src": "3728:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 243, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "3735:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3735:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 241, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "3711:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3711:37:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3686:62:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", - "id": 247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3762:63:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", - "typeString": "literal_string \"ERC721: approve caller is not token owner or approved for all\"" - }, - "value": "ERC721: approve caller is not token owner or approved for all" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", - "typeString": "literal_string \"ERC721: approve caller is not token owner or approved for all\"" - } - ], - "id": 236, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3665:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3665:170:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 249, - "nodeType": "ExpressionStatement", - "src": "3665:170:0" - }, - { - "expression": { - "arguments": [ - { - "id": 251, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3855:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 252, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 218, - "src": "3859:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 250, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 776, - "src": "3846:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3846:21:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 254, - "nodeType": "ExpressionStatement", - "src": "3846:21:0" - } - ] - }, - "documentation": { - "id": 214, - "nodeType": "StructuredDocumentation", - "src": "3417:46:0", - "text": " @dev See {IERC721-approve}." - }, - "functionSelector": "095ea7b3", - "id": 256, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "3477:7:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 220, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3529:8:0" - }, - "parameters": { - "id": 219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 216, - "mutability": "mutable", - "name": "to", - "nameLocation": "3493:2:0", - "nodeType": "VariableDeclaration", - "scope": 256, - "src": "3485:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 215, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3485:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 218, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3505:7:0", - "nodeType": "VariableDeclaration", - "scope": 256, - "src": "3497:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3497:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3484:29:0" - }, - "returnParameters": { - "id": 221, - "nodeType": "ParameterList", - "parameters": [], - "src": "3538:0:0" - }, - "scope": 926, - "src": "3468:406:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1031 - ], - "body": { - "id": 273, - "nodeType": "Block", - "src": "4020:82:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 266, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4045:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 265, - "name": "_requireMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "4030:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", - "typeString": "function (uint256) view" - } - }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4030:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 268, - "nodeType": "ExpressionStatement", - "src": "4030:23:0" - }, - { - "expression": { - "baseExpression": { - "id": 269, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "4071:15:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 271, - "indexExpression": { - "id": 270, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4087:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4071:24:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 264, - "id": 272, - "nodeType": "Return", - "src": "4064:31:0" - } - ] - }, - "documentation": { - "id": 257, - "nodeType": "StructuredDocumentation", - "src": "3880:50:0", - "text": " @dev See {IERC721-getApproved}." - }, - "functionSelector": "081812fc", - "id": 274, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nameLocation": "3944:11:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 261, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3993:8:0" - }, - "parameters": { - "id": 260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 259, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3964:7:0", - "nodeType": "VariableDeclaration", - "scope": 274, - "src": "3956:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3956:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3955:17:0" - }, - "returnParameters": { - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 274, - "src": "4011:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4011:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4010:9:0" - }, - "scope": 926, - "src": "3935:167:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1023 - ], - "body": { - "id": 290, - "nodeType": "Block", - "src": "4253:69:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 284, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "4282:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4282:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 286, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 277, - "src": "4296:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 287, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 279, - "src": "4306:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 283, - "name": "_setApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "4263:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4263:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 289, - "nodeType": "ExpressionStatement", - "src": "4263:52:0" - } - ] - }, - "documentation": { - "id": 275, - "nodeType": "StructuredDocumentation", - "src": "4108:56:0", - "text": " @dev See {IERC721-setApprovalForAll}." - }, - "functionSelector": "a22cb465", - "id": 291, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nameLocation": "4178:17:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 281, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4244:8:0" - }, - "parameters": { - "id": 280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 277, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4204:8:0", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "4196:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 276, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4196:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 279, - "mutability": "mutable", - "name": "approved", - "nameLocation": "4219:8:0", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "4214:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 278, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4214:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4195:33:0" - }, - "returnParameters": { - "id": 282, - "nodeType": "ParameterList", - "parameters": [], - "src": "4253:0:0" - }, - "scope": 926, - "src": "4169:153:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1041 - ], - "body": { - "id": 308, - "nodeType": "Block", - "src": "4491:59:0", - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 302, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45, - "src": "4508:18:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 304, - "indexExpression": { - "id": 303, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "4527:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4508:25:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 306, - "indexExpression": { - "id": 305, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "4534:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4508:35:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 301, - "id": 307, - "nodeType": "Return", - "src": "4501:42:0" - } - ] - }, - "documentation": { - "id": 292, - "nodeType": "StructuredDocumentation", - "src": "4328:55:0", - "text": " @dev See {IERC721-isApprovedForAll}." - }, - "functionSelector": "e985e9c5", - "id": 309, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nameLocation": "4397:16:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 298, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4467:8:0" - }, - "parameters": { - "id": 297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 294, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4422:5:0", - "nodeType": "VariableDeclaration", - "scope": 309, - "src": "4414:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 293, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4414:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 296, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4437:8:0", - "nodeType": "VariableDeclaration", - "scope": 309, - "src": "4429:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 295, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4429:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4413:33:0" - }, - "returnParameters": { - "id": 301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 300, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 309, - "src": "4485:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 299, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4485:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4484:6:0" - }, - "scope": 926, - "src": "4388:162:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1007 - ], - "body": { - "id": 335, - "nodeType": "Block", - "src": "4701:207:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 322, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "4790:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4790:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 324, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "4804:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 321, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 479, - "src": "4771:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4771:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564", - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4814:47:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", - "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" - }, - "value": "ERC721: caller is not token owner or approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", - "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" - } - ], - "id": 320, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4763:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4763:99:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 328, - "nodeType": "ExpressionStatement", - "src": "4763:99:0" - }, - { - "expression": { - "arguments": [ - { - "id": 330, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 312, - "src": "4883:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 331, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 314, - "src": "4889:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 332, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "4893:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 329, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "4873:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4873:28:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 334, - "nodeType": "ExpressionStatement", - "src": "4873:28:0" - } - ] - }, - "documentation": { - "id": 310, - "nodeType": "StructuredDocumentation", - "src": "4556:51:0", - "text": " @dev See {IERC721-transferFrom}." - }, - "functionSelector": "23b872dd", - "id": 336, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "4621:12:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 318, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4692:8:0" - }, - "parameters": { - "id": 317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 312, - "mutability": "mutable", - "name": "from", - "nameLocation": "4642:4:0", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4634:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4634:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 314, - "mutability": "mutable", - "name": "to", - "nameLocation": "4656:2:0", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4648:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 313, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4648:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 316, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4668:7:0", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4660:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 315, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4660:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4633:43:0" - }, - "returnParameters": { - "id": 319, - "nodeType": "ParameterList", - "parameters": [], - "src": "4701:0:0" - }, - "scope": 926, - "src": "4612:296:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 997 - ], - "body": { - "id": 354, - "nodeType": "Block", - "src": "5067:56:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 348, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "5094:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 349, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "5100:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 350, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "5104:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "", - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5113:2:0", - "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": 347, - "name": "safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 355, - 385 - ], - "referencedDeclaration": 385, - "src": "5077:16:0", - "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": 352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5077:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 353, - "nodeType": "ExpressionStatement", - "src": "5077:39:0" - } - ] - }, - "documentation": { - "id": 337, - "nodeType": "StructuredDocumentation", - "src": "4914:55:0", - "text": " @dev See {IERC721-safeTransferFrom}." - }, - "functionSelector": "42842e0e", - "id": 355, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "4983:16:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 345, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5058:8:0" - }, - "parameters": { - "id": 344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 339, - "mutability": "mutable", - "name": "from", - "nameLocation": "5008:4:0", - "nodeType": "VariableDeclaration", - "scope": 355, - "src": "5000:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5000:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 341, - "mutability": "mutable", - "name": "to", - "nameLocation": "5022:2:0", - "nodeType": "VariableDeclaration", - "scope": 355, - "src": "5014:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 340, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5014:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 343, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5034:7:0", - "nodeType": "VariableDeclaration", - "scope": 355, - "src": "5026:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 342, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5026:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4999:43:0" - }, - "returnParameters": { - "id": 346, - "nodeType": "ParameterList", - "parameters": [], - "src": "5067:0:0" - }, - "scope": 926, - "src": "4974:149:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 987 - ], - "body": { - "id": 384, - "nodeType": "Block", - "src": "5301:164:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 370, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "5338:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5338:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 372, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "5352:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 369, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 479, - "src": "5319:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5319:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564", - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5362:47:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", - "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" - }, - "value": "ERC721: caller is not token owner or approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", - "typeString": "literal_string \"ERC721: caller is not token owner or approved\"" - } - ], - "id": 368, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5311:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5311:99:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 376, - "nodeType": "ExpressionStatement", - "src": "5311:99:0" - }, - { - "expression": { - "arguments": [ - { - "id": 378, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 358, - "src": "5434:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 379, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 360, - "src": "5440:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 380, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "5444:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 381, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "5453:4:0", - "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": 377, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 414, - "src": "5420:13:0", - "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": 382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5420:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 383, - "nodeType": "ExpressionStatement", - "src": "5420:38:0" - } - ] - }, - "documentation": { - "id": 356, - "nodeType": "StructuredDocumentation", - "src": "5129:55:0", - "text": " @dev See {IERC721-safeTransferFrom}." - }, - "functionSelector": "b88d4fde", - "id": 385, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "5198:16:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 366, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5292:8:0" - }, - "parameters": { - "id": 365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 358, - "mutability": "mutable", - "name": "from", - "nameLocation": "5223:4:0", - "nodeType": "VariableDeclaration", - "scope": 385, - "src": "5215:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5215:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 360, - "mutability": "mutable", - "name": "to", - "nameLocation": "5237:2:0", - "nodeType": "VariableDeclaration", - "scope": 385, - "src": "5229:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 359, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5229:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 362, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5249:7:0", - "nodeType": "VariableDeclaration", - "scope": 385, - "src": "5241:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5241:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 364, - "mutability": "mutable", - "name": "data", - "nameLocation": "5271:4:0", - "nodeType": "VariableDeclaration", - "scope": 385, - "src": "5258:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 363, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5258:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5214:62:0" - }, - "returnParameters": { - "id": 367, - "nodeType": "ParameterList", - "parameters": [], - "src": "5301:0:0" - }, - "scope": 926, - "src": "5189:276:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 413, - "nodeType": "Block", - "src": "6428:165:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 398, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "6448:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 399, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 390, - "src": "6454:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 400, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "6458:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 397, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 752, - "src": "6438:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6438:28:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 402, - "nodeType": "ExpressionStatement", - "src": "6438:28:0" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 405, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "6507:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 406, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 390, - "src": "6513:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 407, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "6517:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 408, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 394, - "src": "6526:4:0", - "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": 404, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "6484:22:0", - "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": 409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6484:47:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6533:52:0", - "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": 403, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6476:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6476:110:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 412, - "nodeType": "ExpressionStatement", - "src": "6476:110:0" - } - ] - }, - "documentation": { - "id": 386, - "nodeType": "StructuredDocumentation", - "src": "5471:850:0", - "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": 414, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nameLocation": "6335:13:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 395, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 388, - "mutability": "mutable", - "name": "from", - "nameLocation": "6357:4:0", - "nodeType": "VariableDeclaration", - "scope": 414, - "src": "6349:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6349:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 390, - "mutability": "mutable", - "name": "to", - "nameLocation": "6371:2:0", - "nodeType": "VariableDeclaration", - "scope": 414, - "src": "6363:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6363:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "6383:7:0", - "nodeType": "VariableDeclaration", - "scope": 414, - "src": "6375:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6375:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 394, - "mutability": "mutable", - "name": "data", - "nameLocation": "6405:4:0", - "nodeType": "VariableDeclaration", - "scope": 414, - "src": "6392:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 393, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6392:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6348:62:0" - }, - "returnParameters": { - "id": 396, - "nodeType": "ParameterList", - "parameters": [], - "src": "6428:0:0" - }, - "scope": 926, - "src": "6326:267:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 426, - "nodeType": "Block", - "src": "6777:40:0", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 422, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "6794:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 424, - "indexExpression": { - "id": 423, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "6802:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6794:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 421, - "id": 425, - "nodeType": "Return", - "src": "6787:23:0" - } - ] - }, - "documentation": { - "id": 415, - "nodeType": "StructuredDocumentation", - "src": "6599:98:0", - "text": " @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist" - }, - "id": 427, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ownerOf", - "nameLocation": "6711:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 417, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "6728:7:0", - "nodeType": "VariableDeclaration", - "scope": 427, - "src": "6720:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6720:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6719:17:0" - }, - "returnParameters": { - "id": 421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 420, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 427, - "src": "6768:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 419, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6768:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6767:9:0" - }, - "scope": 926, - "src": "6702:115:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 444, - "nodeType": "Block", - "src": "7191:55:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 436, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 430, - "src": "7217:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 435, - "name": "_ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "7208:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7208:17:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7237: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": 439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7229:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 438, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7229:7:0", - "typeDescriptions": {} - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7229:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7208:31:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 434, - "id": 443, - "nodeType": "Return", - "src": "7201:38:0" - } - ] - }, - "documentation": { - "id": 428, - "nodeType": "StructuredDocumentation", - "src": "6823:292:0", - "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": 445, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nameLocation": "7129:7:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 430, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "7145:7:0", - "nodeType": "VariableDeclaration", - "scope": 445, - "src": "7137:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7137:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7136:17:0" - }, - "returnParameters": { - "id": 434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 433, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 445, - "src": "7185:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 432, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7185:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7184:6:0" - }, - "scope": 926, - "src": "7120:126:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 478, - "nodeType": "Block", - "src": "7503:162:0", - "statements": [ - { - "assignments": [ - 456 - ], - "declarations": [ - { - "constant": false, - "id": 456, - "mutability": "mutable", - "name": "owner", - "nameLocation": "7521:5:0", - "nodeType": "VariableDeclaration", - "scope": 478, - "src": "7513:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 455, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7513:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 461, - "initialValue": { - "arguments": [ - { - "id": 459, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 450, - "src": "7544:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 457, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "7529:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7536:7:0", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "7529:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7529:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7513:39:0" - }, - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 462, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "7570:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 463, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 456, - "src": "7581:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7570:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 466, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 456, - "src": "7607:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 467, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "7614:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 465, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "7590:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7590:32:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7570:52:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 471, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 450, - "src": "7638:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 470, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 274, - "src": "7626:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7626:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 473, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "7650:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7626:31:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7570:87:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 476, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7569:89:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 454, - "id": 477, - "nodeType": "Return", - "src": "7562:96:0" - } - ] - }, - "documentation": { - "id": 446, - "nodeType": "StructuredDocumentation", - "src": "7252:147:0", - "text": " @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist." - }, - "id": 479, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isApprovedOrOwner", - "nameLocation": "7413:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 451, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 448, - "mutability": "mutable", - "name": "spender", - "nameLocation": "7440:7:0", - "nodeType": "VariableDeclaration", - "scope": 479, - "src": "7432:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 447, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7432:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 450, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "7457:7:0", - "nodeType": "VariableDeclaration", - "scope": 479, - "src": "7449:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7449:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7431:34:0" - }, - "returnParameters": { - "id": 454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 453, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 479, - "src": "7497:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 452, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7497:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7496:6:0" - }, - "scope": 926, - "src": "7404:261:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 493, - "nodeType": "Block", - "src": "8060:43:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 488, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 482, - "src": "8080:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 489, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8084:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "", - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8093:2:0", - "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": 487, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 494, - 523 - ], - "referencedDeclaration": 523, - "src": "8070:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8070:26:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 492, - "nodeType": "ExpressionStatement", - "src": "8070:26:0" - } - ] - }, - "documentation": { - "id": 480, - "nodeType": "StructuredDocumentation", - "src": "7671:319:0", - "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": 494, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nameLocation": "8004:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 485, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 482, - "mutability": "mutable", - "name": "to", - "nameLocation": "8022:2:0", - "nodeType": "VariableDeclaration", - "scope": 494, - "src": "8014:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 481, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8014:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 484, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "8034:7:0", - "nodeType": "VariableDeclaration", - "scope": 494, - "src": "8026:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 483, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8026:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8013:29:0" - }, - "returnParameters": { - "id": 486, - "nodeType": "ParameterList", - "parameters": [], - "src": "8060:0:0" - }, - "scope": 926, - "src": "7995:108:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 522, - "nodeType": "Block", - "src": "8408:195:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 505, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "8424:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 506, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "8428:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 504, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "8418:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8418:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 508, - "nodeType": "ExpressionStatement", - "src": "8418:18:0" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8498: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": 512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8490:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 511, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8490:7:0", - "typeDescriptions": {} - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8490:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 515, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "8502:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 516, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "8506:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 517, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "8515:4:0", - "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": 510, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 884, - "src": "8467:22:0", - "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": 518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8467:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8534:52:0", - "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": 509, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8446:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8446:150:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 521, - "nodeType": "ExpressionStatement", - "src": "8446:150:0" - } - ] - }, - "documentation": { - "id": 495, - "nodeType": "StructuredDocumentation", - "src": "8109:210:0", - "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": 523, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nameLocation": "8333:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 502, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 497, - "mutability": "mutable", - "name": "to", - "nameLocation": "8351:2:0", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "8343:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 496, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8343:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 499, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "8363:7:0", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "8355:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 498, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8355:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 501, - "mutability": "mutable", - "name": "data", - "nameLocation": "8385:4:0", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "8372:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 500, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8372:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8342:48:0" - }, - "returnParameters": { - "id": 503, - "nodeType": "ParameterList", - "parameters": [], - "src": "8408:0:0" - }, - "scope": 926, - "src": "8324:279:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 599, - "nodeType": "Block", - "src": "8986:859:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 532, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9004:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9018: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": 534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9010:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 533, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9010:7:0", - "typeDescriptions": {} - } - }, - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9010:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9004:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9022:34:0", - "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": 531, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8996:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8996:61:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 540, - "nodeType": "ExpressionStatement", - "src": "8996:61:0" - }, - { - "expression": { - "arguments": [ - { - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9075:17:0", - "subExpression": { - "arguments": [ - { - "id": 543, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9084:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 542, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 445, - "src": "9076:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9076:16:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9094:30:0", - "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": 541, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9067:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9067:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 548, - "nodeType": "ExpressionStatement", - "src": "9067:58:0" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9165: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": 551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9157:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 550, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9157:7:0", - "typeDescriptions": {} - } - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9157:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 554, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9169:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 555, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9173:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9182:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 549, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "9136:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9136:48:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 558, - "nodeType": "ExpressionStatement", - "src": "9136:48:0" - }, - { - "expression": { - "arguments": [ - { - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9279:17:0", - "subExpression": { - "arguments": [ - { - "id": 561, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9288:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 560, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 445, - "src": "9280:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9280:16:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9298:30:0", - "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": 559, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9271:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9271:58:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 566, - "nodeType": "ExpressionStatement", - "src": "9271:58:0" - }, - { - "id": 573, - "nodeType": "UncheckedBlock", - "src": "9340:360:0", - "statements": [ - { - "expression": { - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 567, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "9671:9:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 569, - "indexExpression": { - "id": 568, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9681:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9671:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9688:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9671:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 572, - "nodeType": "ExpressionStatement", - "src": "9671:18:0" - } - ] - }, - { - "expression": { - "id": 578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 574, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "9710:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 576, - "indexExpression": { - "id": 575, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9718:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9710:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 577, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9729:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9710:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 579, - "nodeType": "ExpressionStatement", - "src": "9710:21:0" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9764: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": 582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9756:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 581, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9756:7:0", - "typeDescriptions": {} - } - }, - "id": 584, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9756:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 585, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9768:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 586, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9772:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 580, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "9747:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9747:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 588, - "nodeType": "EmitStatement", - "src": "9742:38:0" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9819: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": 591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9811:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 590, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9811:7:0", - "typeDescriptions": {} - } - }, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9811:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 594, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "9823:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 595, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "9827:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9836:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 589, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "9791:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9791:47:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 598, - "nodeType": "ExpressionStatement", - "src": "9791:47:0" - } - ] - }, - "documentation": { - "id": 524, - "nodeType": "StructuredDocumentation", - "src": "8609:311:0", - "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": 600, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "8934:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 526, - "mutability": "mutable", - "name": "to", - "nameLocation": "8948:2:0", - "nodeType": "VariableDeclaration", - "scope": 600, - "src": "8940:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 525, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8940:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 528, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "8960:7:0", - "nodeType": "VariableDeclaration", - "scope": 600, - "src": "8952:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8952:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8939:29:0" - }, - "returnParameters": { - "id": 530, - "nodeType": "ParameterList", - "parameters": [], - "src": "8986:0:0" - }, - "scope": 926, - "src": "8925:920:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 666, - "nodeType": "Block", - "src": "10220:713:0", - "statements": [ - { - "assignments": [ - 607 - ], - "declarations": [ - { - "constant": false, - "id": 607, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10238:5:0", - "nodeType": "VariableDeclaration", - "scope": 666, - "src": "10230:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10230:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 612, - "initialValue": { - "arguments": [ - { - "id": 610, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10261:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 608, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "10246:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10253:7:0", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "10246:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10246:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10230:39:0" - }, - { - "expression": { - "arguments": [ - { - "id": 614, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "10301:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10316: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": 616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10308:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 615, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10308:7:0", - "typeDescriptions": {} - } - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10308:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 619, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10320:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10329:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 613, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "10280:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10280:51:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 622, - "nodeType": "ExpressionStatement", - "src": "10280:51:0" - }, - { - "expression": { - "id": 628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 623, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "10433:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 626, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10456:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 624, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "10441:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10448:7:0", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "10441:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10441:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10433:31:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 629, - "nodeType": "ExpressionStatement", - "src": "10433:31:0" - }, - { - "expression": { - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "10502:31:0", - "subExpression": { - "baseExpression": { - "id": 630, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "10509:15:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 632, - "indexExpression": { - "id": 631, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10525:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10509:24:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 634, - "nodeType": "ExpressionStatement", - "src": "10502:31:0" - }, - { - "id": 641, - "nodeType": "UncheckedBlock", - "src": "10544:237:0", - "statements": [ - { - "expression": { - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 635, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "10749:9:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 637, - "indexExpression": { - "id": 636, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "10759:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10749:16:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10769:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10749:21:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 640, - "nodeType": "ExpressionStatement", - "src": "10749:21:0" - } - ] - }, - { - "expression": { - "id": 645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "10790:23:0", - "subExpression": { - "baseExpression": { - "id": 642, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "10797:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 644, - "indexExpression": { - "id": 643, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10805:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10797:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 646, - "nodeType": "ExpressionStatement", - "src": "10790:23:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 648, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "10838:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10853: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": 650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10845:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10845:7:0", - "typeDescriptions": {} - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10845:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 653, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10857:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 647, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "10829:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10829:36:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 655, - "nodeType": "EmitStatement", - "src": "10824:41:0" - }, - { - "expression": { - "arguments": [ - { - "id": 657, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "10896:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10911: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": 659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10903:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 658, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10903:7:0", - "typeDescriptions": {} - } - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10903:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 662, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "10915:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10924:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 656, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "10876:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10876:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 665, - "nodeType": "ExpressionStatement", - "src": "10876:50:0" - } - ] - }, - "documentation": { - "id": 601, - "nodeType": "StructuredDocumentation", - "src": "9851:315:0", - "text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n This is an internal function that does not check if the sender is authorized to operate on the token.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event." - }, - "id": 667, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "10180:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 604, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 603, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "10194:7:0", - "nodeType": "VariableDeclaration", - "scope": 667, - "src": "10186:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10186:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10185:17:0" - }, - "returnParameters": { - "id": 605, - "nodeType": "ParameterList", - "parameters": [], - "src": "10220:0:0" - }, - "scope": 926, - "src": "10171:762:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 751, - "nodeType": "Block", - "src": "11336:1124:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 680, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "11369:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 678, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "11354:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11361:7:0", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "11354:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11354:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 682, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "11381:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11354:31:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572", - "id": 684, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11387:39:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", - "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" - }, - "value": "ERC721: transfer from incorrect owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", - "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" - } - ], - "id": 677, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11346:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11346:81:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 686, - "nodeType": "ExpressionStatement", - "src": "11346:81:0" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 688, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "11445:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11459: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": 690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11451:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 689, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11451:7:0", - "typeDescriptions": {} - } - }, - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11451:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11445:16:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11463:38:0", - "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": 687, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11437:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11437:65:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 696, - "nodeType": "ExpressionStatement", - "src": "11437:65:0" - }, - { - "expression": { - "arguments": [ - { - "id": 698, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "11534:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 699, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "11540:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 700, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "11544:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11553:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 697, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "11513:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11513:42:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "11513:42:0" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 707, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "11670:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 705, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "11655:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11662:7:0", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "11655:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11655:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 709, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "11682:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11655:31:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572", - "id": 711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11688:39:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", - "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" - }, - "value": "ERC721: transfer from incorrect owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", - "typeString": "literal_string \"ERC721: transfer from incorrect owner\"" - } - ], - "id": 704, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11647:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11647:81:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 713, - "nodeType": "ExpressionStatement", - "src": "11647:81:0" - }, - { - "expression": { - "id": 717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "11790:31:0", - "subExpression": { - "baseExpression": { - "id": 714, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "11797:15:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 716, - "indexExpression": { - "id": 715, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "11813:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11797:24:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 718, - "nodeType": "ExpressionStatement", - "src": "11790:31:0" - }, - { - "id": 731, - "nodeType": "UncheckedBlock", - "src": "11832:496:0", - "statements": [ - { - "expression": { - "id": 723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 719, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "12265:9:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 721, - "indexExpression": { - "id": 720, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "12275:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12265:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12284:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12265:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 724, - "nodeType": "ExpressionStatement", - "src": "12265:20:0" - }, - { - "expression": { - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 725, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "12299:9:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 727, - "indexExpression": { - "id": 726, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "12309:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12299:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12316:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12299:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 730, - "nodeType": "ExpressionStatement", - "src": "12299:18:0" - } - ] - }, - { - "expression": { - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 732, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "12337:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 734, - "indexExpression": { - "id": 733, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "12345:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12337:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 735, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "12356:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12337:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 737, - "nodeType": "ExpressionStatement", - "src": "12337:21:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 739, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "12383:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 740, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "12389:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 741, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "12393:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 738, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "12374:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12374:27:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 743, - "nodeType": "EmitStatement", - "src": "12369:32:0" - }, - { - "expression": { - "arguments": [ - { - "id": 745, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "12432:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 746, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 672, - "src": "12438:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 747, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "12442:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12451:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 744, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "12412:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12412:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 750, - "nodeType": "ExpressionStatement", - "src": "12412:41:0" - } - ] - }, - "documentation": { - "id": 668, - "nodeType": "StructuredDocumentation", - "src": "10939:313:0", - "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": 752, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "11266:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 670, - "mutability": "mutable", - "name": "from", - "nameLocation": "11284:4:0", - "nodeType": "VariableDeclaration", - "scope": 752, - "src": "11276:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 669, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11276:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 672, - "mutability": "mutable", - "name": "to", - "nameLocation": "11298:2:0", - "nodeType": "VariableDeclaration", - "scope": 752, - "src": "11290:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 671, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11290:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 674, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "11310:7:0", - "nodeType": "VariableDeclaration", - "scope": 752, - "src": "11302:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 673, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11302:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11275:43:0" - }, - "returnParameters": { - "id": 676, - "nodeType": "ParameterList", - "parameters": [], - "src": "11336:0:0" - }, - "scope": 926, - "src": "11257:1203:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 775, - "nodeType": "Block", - "src": "12636:107:0", - "statements": [ - { - "expression": { - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 760, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "12646:15:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 762, - "indexExpression": { - "id": 761, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 757, - "src": "12662:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12646:24:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 763, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "12673:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12646:29:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 765, - "nodeType": "ExpressionStatement", - "src": "12646:29:0" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "id": 769, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 757, - "src": "12714:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 767, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "12699:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$926_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12706:7:0", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 145, - "src": "12699:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12699:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 771, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "12724:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 772, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 757, - "src": "12728:7:0", - "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": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "12690:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12690:46:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 774, - "nodeType": "EmitStatement", - "src": "12685:51:0" - } - ] - }, - "documentation": { - "id": 753, - "nodeType": "StructuredDocumentation", - "src": "12466:101:0", - "text": " @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event." - }, - "id": 776, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "12581:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 758, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 755, - "mutability": "mutable", - "name": "to", - "nameLocation": "12598:2:0", - "nodeType": "VariableDeclaration", - "scope": 776, - "src": "12590:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 754, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12590:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 757, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "12610:7:0", - "nodeType": "VariableDeclaration", - "scope": 776, - "src": "12602:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12602:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12589:29:0" - }, - "returnParameters": { - "id": 759, - "nodeType": "ParameterList", - "parameters": [], - "src": "12636:0:0" - }, - "scope": 926, - "src": "12572:171:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 807, - "nodeType": "Block", - "src": "12972:184:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 787, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "12990:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 788, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 781, - "src": "12999:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12990:17:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13009:27:0", - "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": 786, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "12982:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12982:55:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 792, - "nodeType": "ExpressionStatement", - "src": "12982:55:0" - }, - { - "expression": { - "id": 799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 793, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 45, - "src": "13047:18:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 796, - "indexExpression": { - "id": 794, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "13066:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13047:25:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 797, - "indexExpression": { - "id": 795, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 781, - "src": "13073:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13047:35:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 798, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "13085:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13047:46:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 800, - "nodeType": "ExpressionStatement", - "src": "13047:46:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 802, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 779, - "src": "13123:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 803, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 781, - "src": "13130:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 804, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "13140:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 801, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "13108:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13108:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 806, - "nodeType": "EmitStatement", - "src": "13103:46:0" - } - ] - }, - "documentation": { - "id": 777, - "nodeType": "StructuredDocumentation", - "src": "12749:125:0", - "text": " @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event." - }, - "id": 808, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setApprovalForAll", - "nameLocation": "12888:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 784, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 779, - "mutability": "mutable", - "name": "owner", - "nameLocation": "12915:5:0", - "nodeType": "VariableDeclaration", - "scope": 808, - "src": "12907:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12907:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 781, - "mutability": "mutable", - "name": "operator", - "nameLocation": "12930:8:0", - "nodeType": "VariableDeclaration", - "scope": 808, - "src": "12922:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 780, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12922:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 783, - "mutability": "mutable", - "name": "approved", - "nameLocation": "12945:8:0", - "nodeType": "VariableDeclaration", - "scope": 808, - "src": "12940:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 782, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12940:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "12906:48:0" - }, - "returnParameters": { - "id": 785, - "nodeType": "ParameterList", - "parameters": [], - "src": "12972:0:0" - }, - "scope": 926, - "src": "12879:277:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 821, - "nodeType": "Block", - "src": "13303:70:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 816, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "13329:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 815, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 445, - "src": "13321:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13321:16:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13339:26:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "typeString": "literal_string \"ERC721: invalid token ID\"" - }, - "value": "ERC721: invalid token ID" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "typeString": "literal_string \"ERC721: invalid token ID\"" - } - ], - "id": 814, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "13313:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13313:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 820, - "nodeType": "ExpressionStatement", - "src": "13313:53:0" - } - ] - }, - "documentation": { - "id": 809, - "nodeType": "StructuredDocumentation", - "src": "13162:73:0", - "text": " @dev Reverts if the `tokenId` has not been minted yet." - }, - "id": 822, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_requireMinted", - "nameLocation": "13249:14:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 811, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "13272:7:0", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "13264:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13264:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13263:17:0" - }, - "returnParameters": { - "id": 813, - "nodeType": "ParameterList", - "parameters": [], - "src": "13303:0:0" - }, - "scope": 926, - "src": "13240:133:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 883, - "nodeType": "Block", - "src": "14080:676:0", - "statements": [ - { - "condition": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 836, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14094:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14097:10:0", - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 1105, - "src": "14094:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14094:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 881, - "nodeType": "Block", - "src": "14714:36:0", - "statements": [ - { - "expression": { - "hexValue": "74727565", - "id": 879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14735:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 835, - "id": 880, - "nodeType": "Return", - "src": "14728:11:0" - } - ] - }, - "id": 882, - "nodeType": "IfStatement", - "src": "14090:660:0", - "trueBody": { - "id": 878, - "nodeType": "Block", - "src": "14111:597:0", - "statements": [ - { - "clauses": [ - { - "block": { - "id": 858, - "nodeType": "Block", - "src": "14225:91:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 852, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "14250:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 853, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "14260:15:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1060_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14276:16:0", - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 1059, - "src": "14260:32:0", - "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": 855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14293:8:0", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "14260:41:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "14250:51:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 835, - "id": 857, - "nodeType": "Return", - "src": "14243:58:0" - } - ] - }, - "errorName": "", - "id": 859, - "nodeType": "TryCatchClause", - "parameters": { - "id": 851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 850, - "mutability": "mutable", - "name": "retval", - "nameLocation": "14217:6:0", - "nodeType": "VariableDeclaration", - "scope": 859, - "src": "14210:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 849, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "14210:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "14209:15:0" - }, - "src": "14201:115:0" - }, - { - "block": { - "id": 875, - "nodeType": "Block", - "src": "14345:353:0", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 863, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "14367:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14374:6:0", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "14367:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14384:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14367:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 873, - "nodeType": "Block", - "src": "14494:190:0", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "14580:86:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14617:2:0", - "type": "", - "value": "32" - }, - { - "name": "reason", - "nodeType": "YulIdentifier", - "src": "14621:6:0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14613:3:0" - }, - "nodeType": "YulFunctionCall", - "src": "14613:15:0" - }, - { - "arguments": [ - { - "name": "reason", - "nodeType": "YulIdentifier", - "src": "14636:6:0" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "14630:5:0" - }, - "nodeType": "YulFunctionCall", - "src": "14630:13:0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "14606:6:0" - }, - "nodeType": "YulFunctionCall", - "src": "14606:38:0" - }, - "nodeType": "YulExpressionStatement", - "src": "14606:38:0" - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 861, - "isOffset": false, - "isSlot": false, - "src": "14621:6:0", - "valueSize": 1 - }, - { - "declaration": 861, - "isOffset": false, - "isSlot": false, - "src": "14636:6:0", - "valueSize": 1 - } - ], - "id": 872, - "nodeType": "InlineAssembly", - "src": "14571:95:0" - } - ] - }, - "id": 874, - "nodeType": "IfStatement", - "src": "14363:321:0", - "trueBody": { - "id": 871, - "nodeType": "Block", - "src": "14387:101:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14416:52:0", - "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": 867, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "14409:6:0", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14409:60:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 870, - "nodeType": "ExpressionStatement", - "src": "14409:60:0" - } - ] - } - } - ] - }, - "errorName": "", - "id": 876, - "nodeType": "TryCatchClause", - "parameters": { - "id": 862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 861, - "mutability": "mutable", - "name": "reason", - "nameLocation": "14337:6:0", - "nodeType": "VariableDeclaration", - "scope": 876, - "src": "14324:19:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 860, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "14324:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "14323:21:0" - }, - "src": "14317:381:0" - } - ], - "externalCall": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 843, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "14166:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14166:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 845, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "14180:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 846, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "14186:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 847, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 831, - "src": "14195:4:0", - "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": 840, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "14145:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 839, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "14129:15:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1060_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14129:19:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$1060", - "typeString": "contract IERC721Receiver" - } - }, - "id": 842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14149:16:0", - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 1059, - "src": "14129:36:0", - "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": 848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14129:71:0", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 877, - "nodeType": "TryStatement", - "src": "14125:573:0" - } - ] - } - } - ] - }, - "documentation": { - "id": 823, - "nodeType": "StructuredDocumentation", - "src": "13379:541:0", - "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": 884, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOnERC721Received", - "nameLocation": "13934:22:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 825, - "mutability": "mutable", - "name": "from", - "nameLocation": "13974:4:0", - "nodeType": "VariableDeclaration", - "scope": 884, - "src": "13966:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 824, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13966:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 827, - "mutability": "mutable", - "name": "to", - "nameLocation": "13996:2:0", - "nodeType": "VariableDeclaration", - "scope": 884, - "src": "13988:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 826, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13988:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 829, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "14016:7:0", - "nodeType": "VariableDeclaration", - "scope": 884, - "src": "14008:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14008:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 831, - "mutability": "mutable", - "name": "data", - "nameLocation": "14046:4:0", - "nodeType": "VariableDeclaration", - "scope": 884, - "src": "14033:17:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 830, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "14033:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "13956:100:0" - }, - "returnParameters": { - "id": 835, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 834, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 884, - "src": "14074:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 833, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14074:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "14073:6:0" - }, - "scope": 926, - "src": "13925:831:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 896, - "nodeType": "Block", - "src": "15586:2:0", - "statements": [] - }, - "documentation": { - "id": 885, - "nodeType": "StructuredDocumentation", - "src": "14762:705:0", - "text": " @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n - When `from` is zero, the tokens will be minted for `to`.\n - When `to` is zero, ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 897, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "15481:20:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 894, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 887, - "mutability": "mutable", - "name": "from", - "nameLocation": "15510:4:0", - "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15502:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15502:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 889, - "mutability": "mutable", - "name": "to", - "nameLocation": "15524:2:0", - "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15516:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 888, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15516:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 891, - "mutability": "mutable", - "name": "firstTokenId", - "nameLocation": "15536:12:0", - "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15528:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15528:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 893, - "mutability": "mutable", - "name": "batchSize", - "nameLocation": "15558:9:0", - "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15550:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15550:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15501:67:0" - }, - "returnParameters": { - "id": 895, - "nodeType": "ParameterList", - "parameters": [], - "src": "15586:0:0" - }, - "scope": 926, - "src": "15472:116:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 909, - "nodeType": "Block", - "src": "16407:2:0", - "statements": [] - }, - "documentation": { - "id": 898, - "nodeType": "StructuredDocumentation", - "src": "15594:695:0", - "text": " @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n - When `from` is zero, the tokens were minted for `to`.\n - When `to` is zero, ``from``'s tokens were burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 910, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterTokenTransfer", - "nameLocation": "16303:19:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "mutability": "mutable", - "name": "from", - "nameLocation": "16331:4:0", - "nodeType": "VariableDeclaration", - "scope": 910, - "src": "16323:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 899, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16323:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 902, - "mutability": "mutable", - "name": "to", - "nameLocation": "16345:2:0", - "nodeType": "VariableDeclaration", - "scope": 910, - "src": "16337:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 901, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16337:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 904, - "mutability": "mutable", - "name": "firstTokenId", - "nameLocation": "16357:12:0", - "nodeType": "VariableDeclaration", - "scope": 910, - "src": "16349:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 903, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16349:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 906, - "mutability": "mutable", - "name": "batchSize", - "nameLocation": "16379:9:0", - "nodeType": "VariableDeclaration", - "scope": 910, - "src": "16371:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 905, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16371:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16322:67:0" - }, - "returnParameters": { - "id": 908, - "nodeType": "ParameterList", - "parameters": [], - "src": "16407:0:0" - }, - "scope": 926, - "src": "16294:115:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 924, - "nodeType": "Block", - "src": "16958:45:0", - "statements": [ - { - "expression": { - "id": 922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 918, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "16968:9:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 920, - "indexExpression": { - "id": 919, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "16978:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16968:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 921, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "16990:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16968:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 923, - "nodeType": "ExpressionStatement", - "src": "16968:28:0" - } - ] - }, - "documentation": { - "id": 911, - "nodeType": "StructuredDocumentation", - "src": "16415:409:0", - "text": " @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n that `ownerOf(tokenId)` is `a`." - }, - "id": 925, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "__unsafe_increaseBalance", - "nameLocation": "16891:24:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 913, - "mutability": "mutable", - "name": "account", - "nameLocation": "16924:7:0", - "nodeType": "VariableDeclaration", - "scope": 925, - "src": "16916:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 912, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16916:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 915, - "mutability": "mutable", - "name": "amount", - "nameLocation": "16941:6:0", - "nodeType": "VariableDeclaration", - "scope": 925, - "src": "16933:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 914, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16933:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16915:33:0" - }, - "returnParameters": { - "id": 917, - "nodeType": "ParameterList", - "parameters": [], - "src": "16958:0:0" - }, - "scope": 926, - "src": "16882:121:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 927, - "src": "628:16377:0", - "usedErrors": [] - } - ], - "src": "107:16899:0" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.978Z", - "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}.", - "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": "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/build/contracts/IERC165.json b/build/contracts/IERC165.json deleted file mode 100644 index deb7602..0000000 --- a/build/contracts/IERC165.json +++ /dev/null @@ -1,196 +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.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"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": [ - 1825 - ] - }, - "id": 1826, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1815, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "100:23:10" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC165", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1816, - "nodeType": "StructuredDocumentation", - "src": "125:279:10", - "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": 1825, - "linearizedBaseContracts": [ - 1825 - ], - "name": "IERC165", - "nameLocation": "415:7:10", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1817, - "nodeType": "StructuredDocumentation", - "src": "429:340:10", - "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": 1824, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "783:17:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1820, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1819, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "808:11:10", - "nodeType": "VariableDeclaration", - "scope": 1824, - "src": "801:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1818, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "801:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "800:20:10" - }, - "returnParameters": { - "id": 1823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1822, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1824, - "src": "844:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1821, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "844:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "843:6:10" - }, - "scope": 1825, - "src": "774:76:10", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1826, - "src": "405:447:10", - "usedErrors": [] - } - ], - "src": "100:753:10" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.987Z", - "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/build/contracts/IERC721.json b/build/contracts/IERC721.json deleted file mode 100644 index 437d62f..0000000 --- a/build/contracts/IERC721.json +++ /dev/null @@ -1,1711 +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": "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": "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": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "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": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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 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: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. 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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@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 (last updated v4.9.0) (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`.\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(address from, address to, uint256 tokenId, bytes calldata data) external;\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 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(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n * understand this adds an external call which potentially creates a reentrancy vulnerability.\n *\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(address from, address to, uint256 tokenId) 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 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 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 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", - "sourcePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "exportedSymbols": { - "IERC165": [ - 1825 - ], - "IERC721": [ - 1042 - ] - }, - "id": 1043, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 928, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "108:23:1" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", - "file": "../../utils/introspection/IERC165.sol", - "id": 929, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1043, - "sourceUnit": 1826, - "src": "133:47:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 931, - "name": "IERC165", - "nameLocations": [ - "271:7:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1825, - "src": "271:7:1" - }, - "id": 932, - "nodeType": "InheritanceSpecifier", - "src": "271:7:1" - } - ], - "canonicalName": "IERC721", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 930, - "nodeType": "StructuredDocumentation", - "src": "182:67:1", - "text": " @dev Required interface of an ERC721 compliant contract." - }, - "fullyImplemented": false, - "id": 1042, - "linearizedBaseContracts": [ - 1042, - 1825 - ], - "name": "IERC721", - "nameLocation": "260:7:1", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": { - "id": 933, - "nodeType": "StructuredDocumentation", - "src": "285:88:1", - "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." - }, - "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "id": 941, - "name": "Transfer", - "nameLocation": "384:8:1", - "nodeType": "EventDefinition", - "parameters": { - "id": 940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 935, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "409:4:1", - "nodeType": "VariableDeclaration", - "scope": 941, - "src": "393:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 934, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "393:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 937, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "431:2:1", - "nodeType": "VariableDeclaration", - "scope": 941, - "src": "415:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 936, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "415:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 939, - "indexed": true, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "451:7:1", - "nodeType": "VariableDeclaration", - "scope": 941, - "src": "435:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 938, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "435:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "392:67:1" - }, - "src": "378:82:1" - }, - { - "anonymous": false, - "documentation": { - "id": 942, - "nodeType": "StructuredDocumentation", - "src": "466:94:1", - "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." - }, - "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "id": 950, - "name": "Approval", - "nameLocation": "571:8:1", - "nodeType": "EventDefinition", - "parameters": { - "id": 949, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 944, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "596:5:1", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "580:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "580:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 946, - "indexed": true, - "mutability": "mutable", - "name": "approved", - "nameLocation": "619:8:1", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "603:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 945, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "603:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 948, - "indexed": true, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "645:7:1", - "nodeType": "VariableDeclaration", - "scope": 950, - "src": "629:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 947, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "629:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "579:74:1" - }, - "src": "565:89:1" - }, - { - "anonymous": false, - "documentation": { - "id": 951, - "nodeType": "StructuredDocumentation", - "src": "660:117:1", - "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." - }, - "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", - "id": 959, - "name": "ApprovalForAll", - "nameLocation": "788:14:1", - "nodeType": "EventDefinition", - "parameters": { - "id": 958, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 953, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "819:5:1", - "nodeType": "VariableDeclaration", - "scope": 959, - "src": "803:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 952, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "803:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 955, - "indexed": true, - "mutability": "mutable", - "name": "operator", - "nameLocation": "842:8:1", - "nodeType": "VariableDeclaration", - "scope": 959, - "src": "826:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 954, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "826:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 957, - "indexed": false, - "mutability": "mutable", - "name": "approved", - "nameLocation": "857:8:1", - "nodeType": "VariableDeclaration", - "scope": 959, - "src": "852:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 956, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "852:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "802:64:1" - }, - "src": "782:85:1" - }, - { - "documentation": { - "id": 960, - "nodeType": "StructuredDocumentation", - "src": "873:76:1", - "text": " @dev Returns the number of tokens in ``owner``'s account." - }, - "functionSelector": "70a08231", - "id": 967, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "963:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 963, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 962, - "mutability": "mutable", - "name": "owner", - "nameLocation": "981:5:1", - "nodeType": "VariableDeclaration", - "scope": 967, - "src": "973:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "973:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "972:15:1" - }, - "returnParameters": { - "id": 966, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 965, - "mutability": "mutable", - "name": "balance", - "nameLocation": "1019:7:1", - "nodeType": "VariableDeclaration", - "scope": 967, - "src": "1011:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1011:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1010:17:1" - }, - "scope": 1042, - "src": "954:74:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 968, - "nodeType": "StructuredDocumentation", - "src": "1034:131:1", - "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." - }, - "functionSelector": "6352211e", - "id": 975, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nameLocation": "1179:7:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 970, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1195:7:1", - "nodeType": "VariableDeclaration", - "scope": 975, - "src": "1187:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1187:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1186:17:1" - }, - "returnParameters": { - "id": 974, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 973, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1235:5:1", - "nodeType": "VariableDeclaration", - "scope": 975, - "src": "1227:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 972, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1227:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1226:15:1" - }, - "scope": 1042, - "src": "1170:72:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 976, - "nodeType": "StructuredDocumentation", - "src": "1248:556:1", - "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": 987, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "1818:16:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 985, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 978, - "mutability": "mutable", - "name": "from", - "nameLocation": "1843:4:1", - "nodeType": "VariableDeclaration", - "scope": 987, - "src": "1835:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1835:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 980, - "mutability": "mutable", - "name": "to", - "nameLocation": "1857:2:1", - "nodeType": "VariableDeclaration", - "scope": 987, - "src": "1849:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 979, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1849:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 982, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1869:7:1", - "nodeType": "VariableDeclaration", - "scope": 987, - "src": "1861:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1861:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 984, - "mutability": "mutable", - "name": "data", - "nameLocation": "1893:4:1", - "nodeType": "VariableDeclaration", - "scope": 987, - "src": "1878:19:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 983, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1878:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1834:64:1" - }, - "returnParameters": { - "id": 986, - "nodeType": "ParameterList", - "parameters": [], - "src": "1907:0:1" - }, - "scope": 1042, - "src": "1809:99:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 988, - "nodeType": "StructuredDocumentation", - "src": "1914:687: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 Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." - }, - "functionSelector": "42842e0e", - "id": 997, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "2615:16:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 990, - "mutability": "mutable", - "name": "from", - "nameLocation": "2640:4:1", - "nodeType": "VariableDeclaration", - "scope": 997, - "src": "2632:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 989, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2632:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 992, - "mutability": "mutable", - "name": "to", - "nameLocation": "2654:2:1", - "nodeType": "VariableDeclaration", - "scope": 997, - "src": "2646:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2646:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 994, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2666:7:1", - "nodeType": "VariableDeclaration", - "scope": 997, - "src": "2658:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2658:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2631:43:1" - }, - "returnParameters": { - "id": 996, - "nodeType": "ParameterList", - "parameters": [], - "src": "2683:0:1" - }, - "scope": 1042, - "src": "2606:78:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 998, - "nodeType": "StructuredDocumentation", - "src": "2690:732:1", - "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event." - }, - "functionSelector": "23b872dd", - "id": 1007, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "3436:12:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1005, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1000, - "mutability": "mutable", - "name": "from", - "nameLocation": "3457:4:1", - "nodeType": "VariableDeclaration", - "scope": 1007, - "src": "3449:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3449:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1002, - "mutability": "mutable", - "name": "to", - "nameLocation": "3471:2:1", - "nodeType": "VariableDeclaration", - "scope": 1007, - "src": "3463:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1001, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3463:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1004, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3483:7:1", - "nodeType": "VariableDeclaration", - "scope": 1007, - "src": "3475:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1003, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3475:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3448:43:1" - }, - "returnParameters": { - "id": 1006, - "nodeType": "ParameterList", - "parameters": [], - "src": "3500:0:1" - }, - "scope": 1042, - "src": "3427:74:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1008, - "nodeType": "StructuredDocumentation", - "src": "3507:452:1", - "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": 1015, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "3973:7:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1013, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1010, - "mutability": "mutable", - "name": "to", - "nameLocation": "3989:2:1", - "nodeType": "VariableDeclaration", - "scope": 1015, - "src": "3981:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1009, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3981:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1012, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4001:7:1", - "nodeType": "VariableDeclaration", - "scope": 1015, - "src": "3993:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3993:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3980:29:1" - }, - "returnParameters": { - "id": 1014, - "nodeType": "ParameterList", - "parameters": [], - "src": "4018:0:1" - }, - "scope": 1042, - "src": "3964:55:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1016, - "nodeType": "StructuredDocumentation", - "src": "4025:309:1", - "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": 1023, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nameLocation": "4348:17:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1018, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4374:8:1", - "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "4366:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1017, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4366:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1020, - "mutability": "mutable", - "name": "approved", - "nameLocation": "4389:8:1", - "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "4384:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1019, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4384:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4365:33:1" - }, - "returnParameters": { - "id": 1022, - "nodeType": "ParameterList", - "parameters": [], - "src": "4407:0:1" - }, - "scope": 1042, - "src": "4339:69:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1024, - "nodeType": "StructuredDocumentation", - "src": "4414:139:1", - "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." - }, - "functionSelector": "081812fc", - "id": 1031, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nameLocation": "4567:11:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1027, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1026, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4587:7:1", - "nodeType": "VariableDeclaration", - "scope": 1031, - "src": "4579:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1025, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4579:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4578:17:1" - }, - "returnParameters": { - "id": 1030, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1029, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4627:8:1", - "nodeType": "VariableDeclaration", - "scope": 1031, - "src": "4619:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1028, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4619:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4618:18:1" - }, - "scope": 1042, - "src": "4558:79:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1032, - "nodeType": "StructuredDocumentation", - "src": "4643:138:1", - "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" - }, - "functionSelector": "e985e9c5", - "id": 1041, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nameLocation": "4795:16:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1037, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1034, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4820:5:1", - "nodeType": "VariableDeclaration", - "scope": 1041, - "src": "4812:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1033, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4812:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1036, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4835:8:1", - "nodeType": "VariableDeclaration", - "scope": 1041, - "src": "4827:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1035, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4827:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4811:33:1" - }, - "returnParameters": { - "id": 1040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1039, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1041, - "src": "4868:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1038, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4868:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4867:6:1" - }, - "scope": 1042, - "src": "4786:88:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1043, - "src": "250:4626:1", - "usedErrors": [] - } - ], - "src": "108:4769:1" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.983Z", - "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 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: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. 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/build/contracts/IERC721Metadata.json b/build/contracts/IERC721Metadata.json deleted file mode 100644 index 809ba38..0000000 --- a/build/contracts/IERC721Metadata.json +++ /dev/null @@ -1,713 +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.19+commit.7dd6d404\"},\"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\",\"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}\"},\"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 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: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. 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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@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": [ - 1825 - ], - "IERC721": [ - 1042 - ], - "IERC721Metadata": [ - 1087 - ] - }, - "id": 1088, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1062, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "112:23:3" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "../IERC721.sol", - "id": 1063, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1088, - "sourceUnit": 1043, - "src": "137:24:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1065, - "name": "IERC721", - "nameLocations": [ - "326:7:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1042, - "src": "326:7:3" - }, - "id": 1066, - "nodeType": "InheritanceSpecifier", - "src": "326:7:3" - } - ], - "canonicalName": "IERC721Metadata", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1064, - "nodeType": "StructuredDocumentation", - "src": "163:133:3", - "text": " @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" - }, - "fullyImplemented": false, - "id": 1087, - "linearizedBaseContracts": [ - 1087, - 1042, - 1825 - ], - "name": "IERC721Metadata", - "nameLocation": "307:15:3", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1067, - "nodeType": "StructuredDocumentation", - "src": "340:58:3", - "text": " @dev Returns the token collection name." - }, - "functionSelector": "06fdde03", - "id": 1072, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "412:4:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1068, - "nodeType": "ParameterList", - "parameters": [], - "src": "416:2:3" - }, - "returnParameters": { - "id": 1071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1070, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1072, - "src": "442:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1069, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "442:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "441:15:3" - }, - "scope": 1087, - "src": "403:54:3", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1073, - "nodeType": "StructuredDocumentation", - "src": "463:60:3", - "text": " @dev Returns the token collection symbol." - }, - "functionSelector": "95d89b41", - "id": 1078, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "537:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1074, - "nodeType": "ParameterList", - "parameters": [], - "src": "543:2:3" - }, - "returnParameters": { - "id": 1077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1076, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1078, - "src": "569:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1075, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "569:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "568:15:3" - }, - "scope": 1087, - "src": "528:56:3", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1079, - "nodeType": "StructuredDocumentation", - "src": "590:90:3", - "text": " @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token." - }, - "functionSelector": "c87b56dd", - "id": 1086, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "694:8:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1082, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1081, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "711:7:3", - "nodeType": "VariableDeclaration", - "scope": 1086, - "src": "703:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1080, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "703:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "702:17:3" - }, - "returnParameters": { - "id": 1085, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1084, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1086, - "src": "743:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1083, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "743:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "742:15:3" - }, - "scope": 1087, - "src": "685:73:3", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1088, - "src": "297:463:3", - "usedErrors": [] - } - ], - "src": "112:649:3" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.984Z", - "devdoc": { - "details": "See https://eips.ethereum.org/EIPS/eip-721", - "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}" - }, - "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 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: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. 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/build/contracts/IERC721Receiver.json b/build/contracts/IERC721Receiver.json deleted file mode 100644 index 01e7c4a..0000000 --- a/build/contracts/IERC721Receiver.json +++ /dev/null @@ -1,295 +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.19+commit.7dd6d404\"},\"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 `IERC721Receiver.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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (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 `IERC721Receiver.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": [ - 1060 - ] - }, - "id": 1061, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1044, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "116:23:2" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC721Receiver", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1045, - "nodeType": "StructuredDocumentation", - "src": "141:152:2", - "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": 1060, - "linearizedBaseContracts": [ - 1060 - ], - "name": "IERC721Receiver", - "nameLocation": "304:15:2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1046, - "nodeType": "StructuredDocumentation", - "src": "326:493:2", - "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 `IERC721Receiver.onERC721Received.selector`." - }, - "functionSelector": "150b7a02", - "id": 1059, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nameLocation": "833:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1048, - "mutability": "mutable", - "name": "operator", - "nameLocation": "867:8:2", - "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "859:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "859:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1050, - "mutability": "mutable", - "name": "from", - "nameLocation": "893:4:2", - "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "885:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1049, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "885:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1052, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "915:7:2", - "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "907:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "907:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1054, - "mutability": "mutable", - "name": "data", - "nameLocation": "947:4:2", - "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "932:19:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1053, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "932:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "849:108:2" - }, - "returnParameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1059, - "src": "976:6:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1056, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "976:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "975:8:2" - }, - "scope": 1060, - "src": "824:160:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1061, - "src": "294:692:2", - "usedErrors": [] - } - ], - "src": "116:871:2" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.984Z", - "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 `IERC721Receiver.onERC721Received.selector`." - } - }, - "title": "ERC721 token receiver interface", - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build/contracts/Math.json b/build/contracts/Math.json deleted file mode 100644 index 3cdfca6..0000000 --- a/build/contracts/Math.json +++ /dev/null @@ -1,11708 +0,0 @@ -{ - "contractName": "Math", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]}},\"version\":1}", - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e43ca308c8369fc15a2001a17a85cff4ee9a28330f9ae1e7ff2b25f2c22eb12f64736f6c63430008130033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e43ca308c8369fc15a2001a17a85cff4ee9a28330f9ae1e7ff2b25f2c22eb12f64736f6c63430008130033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "202:12582:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "202:12582:11:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n enum Rounding {\n Down, // Toward negative infinity\n Up, // Toward infinity\n Zero // Toward zero\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds up instead\n * of rounding down.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b - 1) / b can overflow on addition, so we distribute.\n return a == 0 ? 0 : (a - 1) / b + 1;\n }\n\n /**\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n * with further edits by Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = prod1 * 2^256 + prod0.\n uint256 prod0; // Least significant 256 bits of the product\n uint256 prod1; // Most significant 256 bits of the product\n assembly {\n let mm := mulmod(x, y, not(0))\n prod0 := mul(x, y)\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n }\n\n // Handle non-overflow cases, 256 by 256 division.\n if (prod1 == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return prod0 / denominator;\n }\n\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\n require(denominator > prod1, \"Math: mulDiv overflow\");\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [prod1 prod0].\n uint256 remainder;\n assembly {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n prod1 := sub(prod1, gt(remainder, prod0))\n prod0 := sub(prod0, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.\n // See https://cs.stackexchange.com/q/138556/92363.\n\n // Does not overflow because the denominator cannot be zero at this stage in the function.\n uint256 twos = denominator & (~denominator + 1);\n assembly {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [prod1 prod0] by twos.\n prod0 := div(prod0, twos)\n\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from prod1 into prod0.\n prod0 |= prod1 * twos;\n\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv = 1 mod 2^4.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works\n // in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\n // is no longer required.\n result = prod0 * inverse;\n return result;\n }\n }\n\n /**\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n uint256 result = mulDiv(x, y, denominator);\n if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {\n result += 1;\n }\n return result;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n *\n * Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11).\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\n //\n // We know that the \"msb\" (most significant bit) of our target number `a` is a power of 2 such that we have\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\n //\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\n // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\n // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\n //\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\n uint256 result = 1 << (log2(a) >> 1);\n\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\n // into the expected uint128 result.\n unchecked {\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n return min(result, a / result);\n }\n }\n\n /**\n * @notice Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + (rounding == Rounding.Up && result * result < a ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 2, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 128;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 64;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 32;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 16;\n }\n if (value >> 8 > 0) {\n value >>= 8;\n result += 8;\n }\n if (value >> 4 > 0) {\n value >>= 4;\n result += 4;\n }\n if (value >> 2 > 0) {\n value >>= 2;\n result += 2;\n }\n if (value >> 1 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + (rounding == Rounding.Up && 1 << result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 10, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + (rounding == Rounding.Up && 10 ** result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 256, rounded down, of a positive value.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 16;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 8;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 4;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 2;\n }\n if (value >> 8 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + (rounding == Rounding.Up && 1 << (result << 3) < value ? 1 : 0);\n }\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/math/Math.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", - "exportedSymbols": { - "Math": [ - 2691 - ] - }, - "id": 2692, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1827, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "103:23:11" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Math", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1828, - "nodeType": "StructuredDocumentation", - "src": "128:73:11", - "text": " @dev Standard math utilities missing in the Solidity language." - }, - "fullyImplemented": true, - "id": 2691, - "linearizedBaseContracts": [ - 2691 - ], - "name": "Math", - "nameLocation": "210:4:11", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Math.Rounding", - "id": 1832, - "members": [ - { - "id": 1829, - "name": "Down", - "nameLocation": "245:4:11", - "nodeType": "EnumValue", - "src": "245:4:11" - }, - { - "id": 1830, - "name": "Up", - "nameLocation": "287:2:11", - "nodeType": "EnumValue", - "src": "287:2:11" - }, - { - "id": 1831, - "name": "Zero", - "nameLocation": "318:4:11", - "nodeType": "EnumValue", - "src": "318:4:11" - } - ], - "name": "Rounding", - "nameLocation": "226:8:11", - "nodeType": "EnumDefinition", - "src": "221:122:11" - }, - { - "body": { - "id": 1849, - "nodeType": "Block", - "src": "480:37:11", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1842, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1835, - "src": "497:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1843, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1837, - "src": "501:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "497:5:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 1846, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1837, - "src": "509:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "497:13:11", - "trueExpression": { - "id": 1845, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1835, - "src": "505:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1841, - "id": 1848, - "nodeType": "Return", - "src": "490:20:11" - } - ] - }, - "documentation": { - "id": 1833, - "nodeType": "StructuredDocumentation", - "src": "349:59:11", - "text": " @dev Returns the largest of two numbers." - }, - "id": 1850, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "max", - "nameLocation": "422:3:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1835, - "mutability": "mutable", - "name": "a", - "nameLocation": "434:1:11", - "nodeType": "VariableDeclaration", - "scope": 1850, - "src": "426:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1837, - "mutability": "mutable", - "name": "b", - "nameLocation": "445:1:11", - "nodeType": "VariableDeclaration", - "scope": 1850, - "src": "437:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "425:22:11" - }, - "returnParameters": { - "id": 1841, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1840, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1850, - "src": "471:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "471:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "470:9:11" - }, - "scope": 2691, - "src": "413:104:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1867, - "nodeType": "Block", - "src": "655:37:11", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1860, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1853, - "src": "672:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1861, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1855, - "src": "676:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "672:5:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 1864, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1855, - "src": "684:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "672:13:11", - "trueExpression": { - "id": 1863, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1853, - "src": "680:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1859, - "id": 1866, - "nodeType": "Return", - "src": "665:20:11" - } - ] - }, - "documentation": { - "id": 1851, - "nodeType": "StructuredDocumentation", - "src": "523:60:11", - "text": " @dev Returns the smallest of two numbers." - }, - "id": 1868, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nameLocation": "597:3:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1853, - "mutability": "mutable", - "name": "a", - "nameLocation": "609:1:11", - "nodeType": "VariableDeclaration", - "scope": 1868, - "src": "601:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "601:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1855, - "mutability": "mutable", - "name": "b", - "nameLocation": "620:1:11", - "nodeType": "VariableDeclaration", - "scope": 1868, - "src": "612:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "612:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "600:22:11" - }, - "returnParameters": { - "id": 1859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1858, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1868, - "src": "646:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1857, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "646:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "645:9:11" - }, - "scope": 2691, - "src": "588:104:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1890, - "nodeType": "Block", - "src": "876:82:11", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1878, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1871, - "src": "931:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "id": 1879, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1873, - "src": "935:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "931:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1881, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "930:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1882, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1871, - "src": "941:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "id": 1883, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1873, - "src": "945:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "941:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1885, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "940:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "hexValue": "32", - "id": 1886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "950:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "940:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "930:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1877, - "id": 1889, - "nodeType": "Return", - "src": "923:28:11" - } - ] - }, - "documentation": { - "id": 1869, - "nodeType": "StructuredDocumentation", - "src": "698:102:11", - "text": " @dev Returns the average of two numbers. The result is rounded towards\n zero." - }, - "id": 1891, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "average", - "nameLocation": "814:7:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1874, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1871, - "mutability": "mutable", - "name": "a", - "nameLocation": "830:1:11", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "822:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1870, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "822:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1873, - "mutability": "mutable", - "name": "b", - "nameLocation": "841:1:11", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "833:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "833:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "821:22:11" - }, - "returnParameters": { - "id": 1877, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1876, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1891, - "src": "867:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "867:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "866:9:11" - }, - "scope": 2691, - "src": "805:153:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1915, - "nodeType": "Block", - "src": "1228:123:11", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1901, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "1316:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1321:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1316:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1905, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "1330:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1334:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1330:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1908, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1329:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 1909, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1896, - "src": "1339:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1329:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 1911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1343:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1329:15:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1316:28:11", - "trueExpression": { - "hexValue": "30", - "id": 1904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1325:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1900, - "id": 1914, - "nodeType": "Return", - "src": "1309:35:11" - } - ] - }, - "documentation": { - "id": 1892, - "nodeType": "StructuredDocumentation", - "src": "964:188:11", - "text": " @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds up instead\n of rounding down." - }, - "id": 1916, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ceilDiv", - "nameLocation": "1166:7:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1894, - "mutability": "mutable", - "name": "a", - "nameLocation": "1182:1:11", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "1174:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1174:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1896, - "mutability": "mutable", - "name": "b", - "nameLocation": "1193:1:11", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "1185:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1185:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1173:22:11" - }, - "returnParameters": { - "id": 1900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1899, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1916, - "src": "1219:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1219:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1218:9:11" - }, - "scope": 2691, - "src": "1157:194:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2038, - "nodeType": "Block", - "src": "1765:4115:11", - "statements": [ - { - "id": 2037, - "nodeType": "UncheckedBlock", - "src": "1775:4099:11", - "statements": [ - { - "assignments": [ - 1929 - ], - "declarations": [ - { - "constant": false, - "id": 1929, - "mutability": "mutable", - "name": "prod0", - "nameLocation": "2104:5:11", - "nodeType": "VariableDeclaration", - "scope": 2037, - "src": "2096:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2096:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1930, - "nodeType": "VariableDeclarationStatement", - "src": "2096:13:11" - }, - { - "assignments": [ - 1932 - ], - "declarations": [ - { - "constant": false, - "id": 1932, - "mutability": "mutable", - "name": "prod1", - "nameLocation": "2176:5:11", - "nodeType": "VariableDeclaration", - "scope": 2037, - "src": "2168:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2168:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1933, - "nodeType": "VariableDeclarationStatement", - "src": "2168:13:11" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "2248:157:11", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2266:30:11", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2283:1:11" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2286:1:11" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2293:1:11", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2289:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "2289:6:11" - } - ], - "functionName": { - "name": "mulmod", - "nodeType": "YulIdentifier", - "src": "2276:6:11" - }, - "nodeType": "YulFunctionCall", - "src": "2276:20:11" - }, - "variables": [ - { - "name": "mm", - "nodeType": "YulTypedName", - "src": "2270:2:11", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2313:18:11", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2326:1:11" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2329:1:11" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2322:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "2322:9:11" - }, - "variableNames": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "2313:5:11" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2348:43:11", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "mm", - "nodeType": "YulIdentifier", - "src": "2365:2:11" - }, - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "2369:5:11" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2361:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "2361:14:11" - }, - { - "arguments": [ - { - "name": "mm", - "nodeType": "YulIdentifier", - "src": "2380:2:11" - }, - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "2384:5:11" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2377:2:11" - }, - "nodeType": "YulFunctionCall", - "src": "2377:13:11" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2357:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "2357:34:11" - }, - "variableNames": [ - { - "name": "prod1", - "nodeType": "YulIdentifier", - "src": "2348:5:11" - } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 1929, - "isOffset": false, - "isSlot": false, - "src": "2313:5:11", - "valueSize": 1 - }, - { - "declaration": 1929, - "isOffset": false, - "isSlot": false, - "src": "2369:5:11", - "valueSize": 1 - }, - { - "declaration": 1929, - "isOffset": false, - "isSlot": false, - "src": "2384:5:11", - "valueSize": 1 - }, - { - "declaration": 1932, - "isOffset": false, - "isSlot": false, - "src": "2348:5:11", - "valueSize": 1 - }, - { - "declaration": 1919, - "isOffset": false, - "isSlot": false, - "src": "2283:1:11", - "valueSize": 1 - }, - { - "declaration": 1919, - "isOffset": false, - "isSlot": false, - "src": "2326:1:11", - "valueSize": 1 - }, - { - "declaration": 1921, - "isOffset": false, - "isSlot": false, - "src": "2286:1:11", - "valueSize": 1 - }, - { - "declaration": 1921, - "isOffset": false, - "isSlot": false, - "src": "2329:1:11", - "valueSize": 1 - } - ], - "id": 1934, - "nodeType": "InlineAssembly", - "src": "2239:166:11" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1935, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1932, - "src": "2486:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2495:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2486:10:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1943, - "nodeType": "IfStatement", - "src": "2482:368:11", - "trueBody": { - "id": 1942, - "nodeType": "Block", - "src": "2498:352:11", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1938, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1929, - "src": "2816:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 1939, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "2824:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2816:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1927, - "id": 1941, - "nodeType": "Return", - "src": "2809:26:11" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1945, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "2960:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 1946, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1932, - "src": "2974:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2960:19:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4d6174683a206d756c446976206f766572666c6f77", - "id": 1948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2981:23:11", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851", - "typeString": "literal_string \"Math: mulDiv overflow\"" - }, - "value": "Math: mulDiv overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851", - "typeString": "literal_string \"Math: mulDiv overflow\"" - } - ], - "id": 1944, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2952:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2952:53:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1950, - "nodeType": "ExpressionStatement", - "src": "2952:53:11" - }, - { - "assignments": [ - 1952 - ], - "declarations": [ - { - "constant": false, - "id": 1952, - "mutability": "mutable", - "name": "remainder", - "nameLocation": "3269:9:11", - "nodeType": "VariableDeclaration", - "scope": 2037, - "src": "3261:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3261:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1953, - "nodeType": "VariableDeclarationStatement", - "src": "3261:17:11" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "3301:291:11", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3370:38:11", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3390:1:11" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3393:1:11" - }, - { - "name": "denominator", - "nodeType": "YulIdentifier", - "src": "3396:11:11" - } - ], - "functionName": { - "name": "mulmod", - "nodeType": "YulIdentifier", - "src": "3383:6:11" - }, - "nodeType": "YulFunctionCall", - "src": "3383:25:11" - }, - "variableNames": [ - { - "name": "remainder", - "nodeType": "YulIdentifier", - "src": "3370:9:11" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3490:41:11", - "value": { - "arguments": [ - { - "name": "prod1", - "nodeType": "YulIdentifier", - "src": "3503:5:11" - }, - { - "arguments": [ - { - "name": "remainder", - "nodeType": "YulIdentifier", - "src": "3513:9:11" - }, - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3524:5:11" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3510:2:11" - }, - "nodeType": "YulFunctionCall", - "src": "3510:20:11" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3499:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "3499:32:11" - }, - "variableNames": [ - { - "name": "prod1", - "nodeType": "YulIdentifier", - "src": "3490:5:11" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3548:30:11", - "value": { - "arguments": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3561:5:11" - }, - { - "name": "remainder", - "nodeType": "YulIdentifier", - "src": "3568:9:11" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3557:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "3557:21:11" - }, - "variableNames": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3548:5:11" - } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 1923, - "isOffset": false, - "isSlot": false, - "src": "3396:11:11", - "valueSize": 1 - }, - { - "declaration": 1929, - "isOffset": false, - "isSlot": false, - "src": "3524:5:11", - "valueSize": 1 - }, - { - "declaration": 1929, - "isOffset": false, - "isSlot": false, - "src": "3548:5:11", - "valueSize": 1 - }, - { - "declaration": 1929, - "isOffset": false, - "isSlot": false, - "src": "3561:5:11", - "valueSize": 1 - }, - { - "declaration": 1932, - "isOffset": false, - "isSlot": false, - "src": "3490:5:11", - "valueSize": 1 - }, - { - "declaration": 1932, - "isOffset": false, - "isSlot": false, - "src": "3503:5:11", - "valueSize": 1 - }, - { - "declaration": 1952, - "isOffset": false, - "isSlot": false, - "src": "3370:9:11", - "valueSize": 1 - }, - { - "declaration": 1952, - "isOffset": false, - "isSlot": false, - "src": "3513:9:11", - "valueSize": 1 - }, - { - "declaration": 1952, - "isOffset": false, - "isSlot": false, - "src": "3568:9:11", - "valueSize": 1 - }, - { - "declaration": 1919, - "isOffset": false, - "isSlot": false, - "src": "3390:1:11", - "valueSize": 1 - }, - { - "declaration": 1921, - "isOffset": false, - "isSlot": false, - "src": "3393:1:11", - "valueSize": 1 - } - ], - "id": 1954, - "nodeType": "InlineAssembly", - "src": "3292:300:11" - }, - { - "assignments": [ - 1956 - ], - "declarations": [ - { - "constant": false, - "id": 1956, - "mutability": "mutable", - "name": "twos", - "nameLocation": "3907:4:11", - "nodeType": "VariableDeclaration", - "scope": 2037, - "src": "3899:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3899:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1964, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1957, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "3914:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "~", - "prefix": true, - "src": "3929:12:11", - "subExpression": { - "id": 1958, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "3930:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 1960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3944:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3929:16:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1962, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3928:18:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3914:32:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3899:47:11" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "3969:362:11", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4034:37:11", - "value": { - "arguments": [ - { - "name": "denominator", - "nodeType": "YulIdentifier", - "src": "4053:11:11" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "4066:4:11" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4049:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "4049:22:11" - }, - "variableNames": [ - { - "name": "denominator", - "nodeType": "YulIdentifier", - "src": "4034:11:11" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4138:25:11", - "value": { - "arguments": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "4151:5:11" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "4158:4:11" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4147:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "4147:16:11" - }, - "variableNames": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "4138:5:11" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4278:39:11", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4298:1:11", - "type": "", - "value": "0" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "4301:4:11" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4294:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "4294:12:11" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "4308:4:11" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4290:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "4290:23:11" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4315:1:11", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4286:3:11" - }, - "nodeType": "YulFunctionCall", - "src": "4286:31:11" - }, - "variableNames": [ - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "4278:4:11" - } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 1923, - "isOffset": false, - "isSlot": false, - "src": "4034:11:11", - "valueSize": 1 - }, - { - "declaration": 1923, - "isOffset": false, - "isSlot": false, - "src": "4053:11:11", - "valueSize": 1 - }, - { - "declaration": 1929, - "isOffset": false, - "isSlot": false, - "src": "4138:5:11", - "valueSize": 1 - }, - { - "declaration": 1929, - "isOffset": false, - "isSlot": false, - "src": "4151:5:11", - "valueSize": 1 - }, - { - "declaration": 1956, - "isOffset": false, - "isSlot": false, - "src": "4066:4:11", - "valueSize": 1 - }, - { - "declaration": 1956, - "isOffset": false, - "isSlot": false, - "src": "4158:4:11", - "valueSize": 1 - }, - { - "declaration": 1956, - "isOffset": false, - "isSlot": false, - "src": "4278:4:11", - "valueSize": 1 - }, - { - "declaration": 1956, - "isOffset": false, - "isSlot": false, - "src": "4301:4:11", - "valueSize": 1 - }, - { - "declaration": 1956, - "isOffset": false, - "isSlot": false, - "src": "4308:4:11", - "valueSize": 1 - } - ], - "id": 1965, - "nodeType": "InlineAssembly", - "src": "3960:371:11" - }, - { - "expression": { - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1966, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1929, - "src": "4397:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "|=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1967, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1932, - "src": "4406:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1968, - "name": "twos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1956, - "src": "4414:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4406:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4397:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1971, - "nodeType": "ExpressionStatement", - "src": "4397:21:11" - }, - { - "assignments": [ - 1973 - ], - "declarations": [ - { - "constant": false, - "id": 1973, - "mutability": "mutable", - "name": "inverse", - "nameLocation": "4744:7:11", - "nodeType": "VariableDeclaration", - "scope": 2037, - "src": "4736:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4736:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1980, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "33", - "id": 1974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4755:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1975, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "4759:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4755:15:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1977, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4754:17:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "hexValue": "32", - "id": 1978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4774:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "4754:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4736:39:11" - }, - { - "expression": { - "id": 1987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1981, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "4992:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5003:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1983, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "5007:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1984, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5021:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5007:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5003:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4992:36:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1988, - "nodeType": "ExpressionStatement", - "src": "4992:36:11" - }, - { - "expression": { - "id": 1995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1989, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5061:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 1990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5072:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1991, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "5076:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1992, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5090:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5076:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5072:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5061:36:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1996, - "nodeType": "ExpressionStatement", - "src": "5061:36:11" - }, - { - "expression": { - "id": 2003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1997, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5131:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 1998, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5142:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1999, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "5146:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2000, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5160:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5146:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5142:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5131:36:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2004, - "nodeType": "ExpressionStatement", - "src": "5131:36:11" - }, - { - "expression": { - "id": 2011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2005, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5201:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5212:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2007, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "5216:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2008, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5230:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5216:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5212:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5201:36:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2012, - "nodeType": "ExpressionStatement", - "src": "5201:36:11" - }, - { - "expression": { - "id": 2019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2013, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5271:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5282:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2015, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "5286:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2016, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5300:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5286:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5282:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5271:36:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2020, - "nodeType": "ExpressionStatement", - "src": "5271:36:11" - }, - { - "expression": { - "id": 2027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2021, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5342:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5353:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2023, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "5357:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2024, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5371:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5357:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5353:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5342:36:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2028, - "nodeType": "ExpressionStatement", - "src": "5342:36:11" - }, - { - "expression": { - "id": 2033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2029, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "5812:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2030, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1929, - "src": "5821:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2031, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1973, - "src": "5829:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5821:15:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5812:24:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2034, - "nodeType": "ExpressionStatement", - "src": "5812:24:11" - }, - { - "expression": { - "id": 2035, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "5857:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1927, - "id": 2036, - "nodeType": "Return", - "src": "5850:13:11" - } - ] - } - ] - }, - "documentation": { - "id": 1917, - "nodeType": "StructuredDocumentation", - "src": "1357:305:11", - "text": " @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n with further edits by Uniswap Labs also under MIT license." - }, - "id": 2039, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mulDiv", - "nameLocation": "1676:6:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1919, - "mutability": "mutable", - "name": "x", - "nameLocation": "1691:1:11", - "nodeType": "VariableDeclaration", - "scope": 2039, - "src": "1683:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1683:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1921, - "mutability": "mutable", - "name": "y", - "nameLocation": "1702:1:11", - "nodeType": "VariableDeclaration", - "scope": 2039, - "src": "1694:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1694:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1923, - "mutability": "mutable", - "name": "denominator", - "nameLocation": "1713:11:11", - "nodeType": "VariableDeclaration", - "scope": 2039, - "src": "1705:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1705:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1682:43:11" - }, - "returnParameters": { - "id": 1927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1926, - "mutability": "mutable", - "name": "result", - "nameLocation": "1757:6:11", - "nodeType": "VariableDeclaration", - "scope": 2039, - "src": "1749:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1749:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1748:16:11" - }, - "scope": 2691, - "src": "1667:4213:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2082, - "nodeType": "Block", - "src": "6122:189:11", - "statements": [ - { - "assignments": [ - 2055 - ], - "declarations": [ - { - "constant": false, - "id": 2055, - "mutability": "mutable", - "name": "result", - "nameLocation": "6140:6:11", - "nodeType": "VariableDeclaration", - "scope": 2082, - "src": "6132:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6132:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2061, - "initialValue": { - "arguments": [ - { - "id": 2057, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2042, - "src": "6156:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2058, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6159:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2059, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2046, - "src": "6162:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2056, - "name": "mulDiv", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2039, - 2083 - ], - "referencedDeclaration": 2039, - "src": "6149:6:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 2060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6149:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6132:42:11" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - }, - "id": 2065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2062, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2049, - "src": "6188:8:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2063, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1832, - "src": "6200:8:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$1832_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 2064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6209:2:11", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 1830, - "src": "6200:11:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "src": "6188:23:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2067, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2042, - "src": "6222:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2068, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6225:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2069, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2046, - "src": "6228:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2066, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967280, - "src": "6215:6:11", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 2070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6215:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6243:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6215:29:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6188:56:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2079, - "nodeType": "IfStatement", - "src": "6184:98:11", - "trueBody": { - "id": 2078, - "nodeType": "Block", - "src": "6246:36:11", - "statements": [ - { - "expression": { - "id": 2076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2074, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2055, - "src": "6260:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 2075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6270:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6260:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2077, - "nodeType": "ExpressionStatement", - "src": "6260:11:11" - } - ] - } - }, - { - "expression": { - "id": 2080, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2055, - "src": "6298:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2053, - "id": 2081, - "nodeType": "Return", - "src": "6291:13:11" - } - ] - }, - "documentation": { - "id": 2040, - "nodeType": "StructuredDocumentation", - "src": "5886:121:11", - "text": " @notice Calculates x * y / denominator with full precision, following the selected rounding direction." - }, - "id": 2083, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mulDiv", - "nameLocation": "6021:6:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2042, - "mutability": "mutable", - "name": "x", - "nameLocation": "6036:1:11", - "nodeType": "VariableDeclaration", - "scope": 2083, - "src": "6028:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6028:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2044, - "mutability": "mutable", - "name": "y", - "nameLocation": "6047:1:11", - "nodeType": "VariableDeclaration", - "scope": 2083, - "src": "6039:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2043, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6039:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2046, - "mutability": "mutable", - "name": "denominator", - "nameLocation": "6058:11:11", - "nodeType": "VariableDeclaration", - "scope": 2083, - "src": "6050:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2045, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6050:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2049, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "6080:8:11", - "nodeType": "VariableDeclaration", - "scope": 2083, - "src": "6071:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 2048, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2047, - "name": "Rounding", - "nameLocations": [ - "6071:8:11" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1832, - "src": "6071:8:11" - }, - "referencedDeclaration": 1832, - "src": "6071:8:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "6027:62:11" - }, - "returnParameters": { - "id": 2053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2052, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2083, - "src": "6113:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6113:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6112:9:11" - }, - "scope": 2691, - "src": "6012:299:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2194, - "nodeType": "Block", - "src": "6587:1585:11", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2091, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "6601:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6606:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6601:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2097, - "nodeType": "IfStatement", - "src": "6597:45:11", - "trueBody": { - "id": 2096, - "nodeType": "Block", - "src": "6609:33:11", - "statements": [ - { - "expression": { - "hexValue": "30", - "id": 2094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6630:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 2090, - "id": 2095, - "nodeType": "Return", - "src": "6623:8:11" - } - ] - } - }, - { - "assignments": [ - 2099 - ], - "declarations": [ - { - "constant": false, - "id": 2099, - "mutability": "mutable", - "name": "result", - "nameLocation": "7329:6:11", - "nodeType": "VariableDeclaration", - "scope": 2194, - "src": "7321:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7321:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2108, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7338:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2102, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "7349:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2101, - "name": "log2", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2363, - 2399 - ], - "referencedDeclaration": 2363, - "src": "7344:4:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7344:7:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7355:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7344:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2106, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7343:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7338:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7321:36:11" - }, - { - "id": 2193, - "nodeType": "UncheckedBlock", - "src": "7758:408:11", - "statements": [ - { - "expression": { - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2109, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7782:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2110, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7792:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "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": 2086, - "src": "7801:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2112, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7805:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7801:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7792:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2115, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7791:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7816:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7791:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7782:35:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2119, - "nodeType": "ExpressionStatement", - "src": "7782:35:11" - }, - { - "expression": { - "id": 2129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2120, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7831:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2121, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7841:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2122, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "7850:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2123, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7854:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7850:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7841:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2126, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7840:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7865:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7840:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7831:35:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2130, - "nodeType": "ExpressionStatement", - "src": "7831:35:11" - }, - { - "expression": { - "id": 2140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2131, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7880:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2132, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7890:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2133, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "7899:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2134, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7903:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7899:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7890:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2137, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7889:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7914:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7889:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7880:35:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2141, - "nodeType": "ExpressionStatement", - "src": "7880:35:11" - }, - { - "expression": { - "id": 2151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2142, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7929:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2143, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7939:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2144, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "7948:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2145, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7952:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7948:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7939:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2148, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7938:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7963:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7938:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7929:35:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2152, - "nodeType": "ExpressionStatement", - "src": "7929:35:11" - }, - { - "expression": { - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2153, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7978:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2154, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "7988:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2155, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "7997:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2156, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "8001:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7997:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7988:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2159, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7987:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8012:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7987:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7978:35:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2163, - "nodeType": "ExpressionStatement", - "src": "7978:35:11" - }, - { - "expression": { - "id": 2173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2164, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "8027:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2165, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "8037:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2166, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "8046:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2167, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "8050:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8046:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8037:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2170, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8036:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8061:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8036:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8027:35:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2174, - "nodeType": "ExpressionStatement", - "src": "8027:35:11" - }, - { - "expression": { - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2175, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "8076:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2176, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "8086:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2177, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "8095:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2178, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "8099:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8095:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8086:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2181, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8085:21:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8110:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8085:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8076:35:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2185, - "nodeType": "ExpressionStatement", - "src": "8076:35:11" - }, - { - "expression": { - "arguments": [ - { - "id": 2187, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "8136:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2188, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "8144:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2189, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "8148:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8144:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2186, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1868, - "src": "8132:3:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8132:23:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2090, - "id": 2192, - "nodeType": "Return", - "src": "8125:30:11" - } - ] - } - ] - }, - "documentation": { - "id": 2084, - "nodeType": "StructuredDocumentation", - "src": "6317:208:11", - "text": " @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)." - }, - "id": 2195, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nameLocation": "6539:4:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2087, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2086, - "mutability": "mutable", - "name": "a", - "nameLocation": "6552:1:11", - "nodeType": "VariableDeclaration", - "scope": 2195, - "src": "6544:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6544:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6543:11:11" - }, - "returnParameters": { - "id": 2090, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2089, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2195, - "src": "6578:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6578:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6577:9:11" - }, - "scope": 2691, - "src": "6530:1642:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2230, - "nodeType": "Block", - "src": "8348:161:11", - "statements": [ - { - "id": 2229, - "nodeType": "UncheckedBlock", - "src": "8358:145:11", - "statements": [ - { - "assignments": [ - 2207 - ], - "declarations": [ - { - "constant": false, - "id": 2207, - "mutability": "mutable", - "name": "result", - "nameLocation": "8390:6:11", - "nodeType": "VariableDeclaration", - "scope": 2229, - "src": "8382:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2206, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8382:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2211, - "initialValue": { - "arguments": [ - { - "id": 2209, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "8404:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2208, - "name": "sqrt", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2195, - 2231 - ], - "referencedDeclaration": 2195, - "src": "8399:4:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8399:7:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8382:24:11" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2212, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2207, - "src": "8427:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - }, - "id": 2216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2213, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2201, - "src": "8437:8:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2214, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1832, - "src": "8449:8:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$1832_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 2215, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "8458:2:11", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 1830, - "src": "8449:11:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "src": "8437:23:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2217, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2207, - "src": "8464:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2218, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2207, - "src": "8473:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8464:15:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 2220, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2198, - "src": "8482:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8464:19:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8437:46:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 2224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8490:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 2225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8437:54:11", - "trueExpression": { - "hexValue": "31", - "id": 2223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8486:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 2226, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8436:56:11", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "8427:65:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2205, - "id": 2228, - "nodeType": "Return", - "src": "8420:72:11" - } - ] - } - ] - }, - "documentation": { - "id": 2196, - "nodeType": "StructuredDocumentation", - "src": "8178:89:11", - "text": " @notice Calculates sqrt(a), following the selected rounding direction." - }, - "id": 2231, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nameLocation": "8281:4:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2198, - "mutability": "mutable", - "name": "a", - "nameLocation": "8294:1:11", - "nodeType": "VariableDeclaration", - "scope": 2231, - "src": "8286:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8286:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2201, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "8306:8:11", - "nodeType": "VariableDeclaration", - "scope": 2231, - "src": "8297:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 2200, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2199, - "name": "Rounding", - "nameLocations": [ - "8297:8:11" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1832, - "src": "8297:8:11" - }, - "referencedDeclaration": 1832, - "src": "8297:8:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "8285:30:11" - }, - "returnParameters": { - "id": 2205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2204, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2231, - "src": "8339:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8339:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8338:9:11" - }, - "scope": 2691, - "src": "8272:237:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2362, - "nodeType": "Block", - "src": "8694:922:11", - "statements": [ - { - "assignments": [ - 2240 - ], - "declarations": [ - { - "constant": false, - "id": 2240, - "mutability": "mutable", - "name": "result", - "nameLocation": "8712:6:11", - "nodeType": "VariableDeclaration", - "scope": 2362, - "src": "8704:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8704:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2242, - "initialValue": { - "hexValue": "30", - "id": 2241, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8721:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8704:18:11" - }, - { - "id": 2359, - "nodeType": "UncheckedBlock", - "src": "8732:855:11", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2243, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "8760:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 2244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8769:3:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "8760:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8775:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8760:16:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2257, - "nodeType": "IfStatement", - "src": "8756:99:11", - "trueBody": { - "id": 2256, - "nodeType": "Block", - "src": "8778:77:11", - "statements": [ - { - "expression": { - "id": 2250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2248, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "8796:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "313238", - "id": 2249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8806:3:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "8796:13:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2251, - "nodeType": "ExpressionStatement", - "src": "8796:13:11" - }, - { - "expression": { - "id": 2254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2252, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "8827:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "313238", - "id": 2253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8837:3:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "8827:13:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2255, - "nodeType": "ExpressionStatement", - "src": "8827:13:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2258, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "8872:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 2259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8881:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "8872:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8886:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8872:15:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2272, - "nodeType": "IfStatement", - "src": "8868:96:11", - "trueBody": { - "id": 2271, - "nodeType": "Block", - "src": "8889:75:11", - "statements": [ - { - "expression": { - "id": 2265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2263, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "8907:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3634", - "id": 2264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8917:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "8907:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2266, - "nodeType": "ExpressionStatement", - "src": "8907:12:11" - }, - { - "expression": { - "id": 2269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2267, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "8937:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3634", - "id": 2268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8947:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "8937:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2270, - "nodeType": "ExpressionStatement", - "src": "8937:12:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2273, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "8981:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3332", - "id": 2274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8990:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "8981:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8995:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8981:15:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2287, - "nodeType": "IfStatement", - "src": "8977:96:11", - "trueBody": { - "id": 2286, - "nodeType": "Block", - "src": "8998:75:11", - "statements": [ - { - "expression": { - "id": 2280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2278, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "9016:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3332", - "id": 2279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9026:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "9016:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2281, - "nodeType": "ExpressionStatement", - "src": "9016:12:11" - }, - { - "expression": { - "id": 2284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2282, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "9046:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3332", - "id": 2283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9056:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "9046:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2285, - "nodeType": "ExpressionStatement", - "src": "9046:12:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2288, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "9090:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3136", - "id": 2289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9099:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "9090:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9104:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9090:15:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2302, - "nodeType": "IfStatement", - "src": "9086:96:11", - "trueBody": { - "id": 2301, - "nodeType": "Block", - "src": "9107:75:11", - "statements": [ - { - "expression": { - "id": 2295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2293, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "9125:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3136", - "id": 2294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9135:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "9125:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2296, - "nodeType": "ExpressionStatement", - "src": "9125:12:11" - }, - { - "expression": { - "id": 2299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2297, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "9155:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 2298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9165:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "9155:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2300, - "nodeType": "ExpressionStatement", - "src": "9155:12:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2303, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "9199:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "38", - "id": 2304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9208:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "9199:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9212:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9199:14:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2317, - "nodeType": "IfStatement", - "src": "9195:93:11", - "trueBody": { - "id": 2316, - "nodeType": "Block", - "src": "9215:73:11", - "statements": [ - { - "expression": { - "id": 2310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2308, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "9233:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "38", - "id": 2309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9243:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "9233:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2311, - "nodeType": "ExpressionStatement", - "src": "9233:11:11" - }, - { - "expression": { - "id": 2314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2312, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "9262:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 2313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9272:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "9262:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2315, - "nodeType": "ExpressionStatement", - "src": "9262:11:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2318, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "9305:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "34", - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9314:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9305:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9318:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9305:14:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2332, - "nodeType": "IfStatement", - "src": "9301:93:11", - "trueBody": { - "id": 2331, - "nodeType": "Block", - "src": "9321:73:11", - "statements": [ - { - "expression": { - "id": 2325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2323, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "9339:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "34", - "id": 2324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9349:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9339:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2326, - "nodeType": "ExpressionStatement", - "src": "9339:11:11" - }, - { - "expression": { - "id": 2329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2327, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "9368:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 2328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9378:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9368:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2330, - "nodeType": "ExpressionStatement", - "src": "9368:11:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2333, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "9411:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "32", - "id": 2334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9420:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9411:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9424:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9411:14:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2347, - "nodeType": "IfStatement", - "src": "9407:93:11", - "trueBody": { - "id": 2346, - "nodeType": "Block", - "src": "9427:73:11", - "statements": [ - { - "expression": { - "id": 2340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2338, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "9445:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "32", - "id": 2339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9455:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9445:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2341, - "nodeType": "ExpressionStatement", - "src": "9445:11:11" - }, - { - "expression": { - "id": 2344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2342, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "9474:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 2343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9484:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9474:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2345, - "nodeType": "ExpressionStatement", - "src": "9474:11:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2348, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2234, - "src": "9517:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9526:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9517:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9530:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9517:14:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2358, - "nodeType": "IfStatement", - "src": "9513:64:11", - "trueBody": { - "id": 2357, - "nodeType": "Block", - "src": "9533:44:11", - "statements": [ - { - "expression": { - "id": 2355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2353, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "9551:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9561:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9551:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2356, - "nodeType": "ExpressionStatement", - "src": "9551:11:11" - } - ] - } - } - ] - }, - { - "expression": { - "id": 2360, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2240, - "src": "9603:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2238, - "id": 2361, - "nodeType": "Return", - "src": "9596:13:11" - } - ] - }, - "documentation": { - "id": 2232, - "nodeType": "StructuredDocumentation", - "src": "8515:113:11", - "text": " @dev Return the log in base 2, rounded down, of a positive value.\n Returns 0 if given 0." - }, - "id": 2363, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log2", - "nameLocation": "8642:4:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2234, - "mutability": "mutable", - "name": "value", - "nameLocation": "8655:5:11", - "nodeType": "VariableDeclaration", - "scope": 2363, - "src": "8647:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8647:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8646:15:11" - }, - "returnParameters": { - "id": 2238, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2237, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2363, - "src": "8685:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2236, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8685:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8684:9:11" - }, - "scope": 2691, - "src": "8633:983:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2398, - "nodeType": "Block", - "src": "9849:165:11", - "statements": [ - { - "id": 2397, - "nodeType": "UncheckedBlock", - "src": "9859:149:11", - "statements": [ - { - "assignments": [ - 2375 - ], - "declarations": [ - { - "constant": false, - "id": 2375, - "mutability": "mutable", - "name": "result", - "nameLocation": "9891:6:11", - "nodeType": "VariableDeclaration", - "scope": 2397, - "src": "9883:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2374, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9883:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2379, - "initialValue": { - "arguments": [ - { - "id": 2377, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2366, - "src": "9905:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2376, - "name": "log2", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2363, - 2399 - ], - "referencedDeclaration": 2363, - "src": "9900:4:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9900:11:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9883:28:11" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2380, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2375, - "src": "9932:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - }, - "id": 2384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2381, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2369, - "src": "9942:8:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2382, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1832, - "src": "9954:8:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$1832_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 2383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9963:2:11", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 1830, - "src": "9954:11:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "src": "9942:23:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9969:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "id": 2386, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2375, - "src": "9974:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9969:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 2388, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2366, - "src": "9983:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9969:19:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9942:46:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 2392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9995:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 2393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "9942:54:11", - "trueExpression": { - "hexValue": "31", - "id": 2391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9991:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 2394, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9941:56:11", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "9932:65:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2373, - "id": 2396, - "nodeType": "Return", - "src": "9925:72:11" - } - ] - } - ] - }, - "documentation": { - "id": 2364, - "nodeType": "StructuredDocumentation", - "src": "9622:142:11", - "text": " @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 2399, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log2", - "nameLocation": "9778:4:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2370, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2366, - "mutability": "mutable", - "name": "value", - "nameLocation": "9791:5:11", - "nodeType": "VariableDeclaration", - "scope": 2399, - "src": "9783:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9783:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2369, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "9807:8:11", - "nodeType": "VariableDeclaration", - "scope": 2399, - "src": "9798:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 2368, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2367, - "name": "Rounding", - "nameLocations": [ - "9798:8:11" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1832, - "src": "9798:8:11" - }, - "referencedDeclaration": 1832, - "src": "9798:8:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "9782:34:11" - }, - "returnParameters": { - "id": 2373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2372, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2399, - "src": "9840:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9840:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9839:9:11" - }, - "scope": 2691, - "src": "9769:245:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2527, - "nodeType": "Block", - "src": "10201:854:11", - "statements": [ - { - "assignments": [ - 2408 - ], - "declarations": [ - { - "constant": false, - "id": 2408, - "mutability": "mutable", - "name": "result", - "nameLocation": "10219:6:11", - "nodeType": "VariableDeclaration", - "scope": 2527, - "src": "10211:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10211:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2410, - "initialValue": { - "hexValue": "30", - "id": 2409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10228:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "10211:18:11" - }, - { - "id": 2524, - "nodeType": "UncheckedBlock", - "src": "10239:787:11", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2411, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10267:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - }, - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10276:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 2413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10282:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10276:8:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - } - }, - "src": "10267:17:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2427, - "nodeType": "IfStatement", - "src": "10263:103:11", - "trueBody": { - "id": 2426, - "nodeType": "Block", - "src": "10286:80:11", - "statements": [ - { - "expression": { - "id": 2420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2416, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10304:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - }, - "id": 2419, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2417, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10313:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 2418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10319:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10313:8:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - } - }, - "src": "10304:17:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2421, - "nodeType": "ExpressionStatement", - "src": "10304:17:11" - }, - { - "expression": { - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2422, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2408, - "src": "10339:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3634", - "id": 2423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10349:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10339:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2425, - "nodeType": "ExpressionStatement", - "src": "10339:12:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2428, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10383:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10392:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 2430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10398:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10392:8:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - } - }, - "src": "10383:17:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2444, - "nodeType": "IfStatement", - "src": "10379:103:11", - "trueBody": { - "id": 2443, - "nodeType": "Block", - "src": "10402:80:11", - "statements": [ - { - "expression": { - "id": 2437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2433, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10420:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - }, - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10429:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 2435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10435:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10429:8:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - } - }, - "src": "10420:17:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2438, - "nodeType": "ExpressionStatement", - "src": "10420:17:11" - }, - { - "expression": { - "id": 2441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2439, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2408, - "src": "10455:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3332", - "id": 2440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10465:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10455:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2442, - "nodeType": "ExpressionStatement", - "src": "10455:12:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2445, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10499:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - }, - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10508:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3136", - "id": 2447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10514:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "10508:8:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - } - }, - "src": "10499:17:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2461, - "nodeType": "IfStatement", - "src": "10495:103:11", - "trueBody": { - "id": 2460, - "nodeType": "Block", - "src": "10518:80:11", - "statements": [ - { - "expression": { - "id": 2454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2450, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10536:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - }, - "id": 2453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10545:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3136", - "id": 2452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10551:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "10545:8:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - } - }, - "src": "10536:17:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2455, - "nodeType": "ExpressionStatement", - "src": "10536:17:11" - }, - { - "expression": { - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2456, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2408, - "src": "10571:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 2457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10581:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "10571:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2459, - "nodeType": "ExpressionStatement", - "src": "10571:12:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2462, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10615:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10624:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "38", - "id": 2464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10630:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "10624:7:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - }, - "src": "10615:16:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2478, - "nodeType": "IfStatement", - "src": "10611:100:11", - "trueBody": { - "id": 2477, - "nodeType": "Block", - "src": "10633:78:11", - "statements": [ - { - "expression": { - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2467, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10651:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "id": 2470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10660:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "38", - "id": 2469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10666:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "10660:7:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - }, - "src": "10651:16:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2472, - "nodeType": "ExpressionStatement", - "src": "10651:16:11" - }, - { - "expression": { - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2473, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2408, - "src": "10685:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 2474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10695:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "10685:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2476, - "nodeType": "ExpressionStatement", - "src": "10685:11:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2479, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10728:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 2482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10737:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 2481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10743:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "10737:7:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "src": "10728:16:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2495, - "nodeType": "IfStatement", - "src": "10724:100:11", - "trueBody": { - "id": 2494, - "nodeType": "Block", - "src": "10746:78:11", - "statements": [ - { - "expression": { - "id": 2488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2484, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10764:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 2487, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2485, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10773:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 2486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10779:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "10773:7:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "src": "10764:16:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2489, - "nodeType": "ExpressionStatement", - "src": "10764:16:11" - }, - { - "expression": { - "id": 2492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2490, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2408, - "src": "10798:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 2491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10808:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "10798:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2493, - "nodeType": "ExpressionStatement", - "src": "10798:11:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2496, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10841:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "id": 2499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10850:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "32", - "id": 2498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10856:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10850:7:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - }, - "src": "10841:16:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2512, - "nodeType": "IfStatement", - "src": "10837:100:11", - "trueBody": { - "id": 2511, - "nodeType": "Block", - "src": "10859:78:11", - "statements": [ - { - "expression": { - "id": 2505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2501, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10877:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "id": 2504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10886:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "32", - "id": 2503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10892:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10886:7:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - }, - "src": "10877:16:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2506, - "nodeType": "ExpressionStatement", - "src": "10877:16:11" - }, - { - "expression": { - "id": 2509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2507, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2408, - "src": "10911:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 2508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10921:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10911:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2510, - "nodeType": "ExpressionStatement", - "src": "10911:11:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2513, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "10954:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "id": 2516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10963:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "31", - "id": 2515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10969:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10963:7:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - } - }, - "src": "10954:16:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2523, - "nodeType": "IfStatement", - "src": "10950:66:11", - "trueBody": { - "id": 2522, - "nodeType": "Block", - "src": "10972:44:11", - "statements": [ - { - "expression": { - "id": 2520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2518, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2408, - "src": "10990:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11000:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10990:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2521, - "nodeType": "ExpressionStatement", - "src": "10990:11:11" - } - ] - } - } - ] - }, - { - "expression": { - "id": 2525, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2408, - "src": "11042:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2406, - "id": 2526, - "nodeType": "Return", - "src": "11035:13:11" - } - ] - }, - "documentation": { - "id": 2400, - "nodeType": "StructuredDocumentation", - "src": "10020:114:11", - "text": " @dev Return the log in base 10, rounded down, of a positive value.\n Returns 0 if given 0." - }, - "id": 2528, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log10", - "nameLocation": "10148:5:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2403, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2402, - "mutability": "mutable", - "name": "value", - "nameLocation": "10162:5:11", - "nodeType": "VariableDeclaration", - "scope": 2528, - "src": "10154:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2401, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10154:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10153:15:11" - }, - "returnParameters": { - "id": 2406, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2405, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2528, - "src": "10192:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10192:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10191:9:11" - }, - "scope": 2691, - "src": "10139:916:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2563, - "nodeType": "Block", - "src": "11290:167:11", - "statements": [ - { - "id": 2562, - "nodeType": "UncheckedBlock", - "src": "11300:151:11", - "statements": [ - { - "assignments": [ - 2540 - ], - "declarations": [ - { - "constant": false, - "id": 2540, - "mutability": "mutable", - "name": "result", - "nameLocation": "11332:6:11", - "nodeType": "VariableDeclaration", - "scope": 2562, - "src": "11324:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2539, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11324:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2544, - "initialValue": { - "arguments": [ - { - "id": 2542, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2531, - "src": "11347:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2541, - "name": "log10", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2528, - 2564 - ], - "referencedDeclaration": 2528, - "src": "11341:5:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11341:12:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11324:29:11" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2545, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2540, - "src": "11374:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - }, - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2546, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2534, - "src": "11384:8:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2547, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1832, - "src": "11396:8:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$1832_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 2548, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11405:2:11", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 1830, - "src": "11396:11:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "src": "11384:23:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11411:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 2551, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2540, - "src": "11417:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11411:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 2553, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2531, - "src": "11426:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11411:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11384:47:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 2557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11438:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 2558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "11384:55:11", - "trueExpression": { - "hexValue": "31", - "id": 2556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11434:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 2559, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11383:57:11", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "11374:66:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2538, - "id": 2561, - "nodeType": "Return", - "src": "11367:73:11" - } - ] - } - ] - }, - "documentation": { - "id": 2529, - "nodeType": "StructuredDocumentation", - "src": "11061:143:11", - "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 2564, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log10", - "nameLocation": "11218:5:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2531, - "mutability": "mutable", - "name": "value", - "nameLocation": "11232:5:11", - "nodeType": "VariableDeclaration", - "scope": 2564, - "src": "11224:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2530, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11224:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2534, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "11248:8:11", - "nodeType": "VariableDeclaration", - "scope": 2564, - "src": "11239:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 2533, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2532, - "name": "Rounding", - "nameLocations": [ - "11239:8:11" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1832, - "src": "11239:8:11" - }, - "referencedDeclaration": 1832, - "src": "11239:8:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "11223:34:11" - }, - "returnParameters": { - "id": 2538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2537, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2564, - "src": "11281:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11281:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11280:9:11" - }, - "scope": 2691, - "src": "11209:248:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2650, - "nodeType": "Block", - "src": "11771:600:11", - "statements": [ - { - "assignments": [ - 2573 - ], - "declarations": [ - { - "constant": false, - "id": 2573, - "mutability": "mutable", - "name": "result", - "nameLocation": "11789:6:11", - "nodeType": "VariableDeclaration", - "scope": 2650, - "src": "11781:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11781:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2575, - "initialValue": { - "hexValue": "30", - "id": 2574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11798:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11781:18:11" - }, - { - "id": 2647, - "nodeType": "UncheckedBlock", - "src": "11809:533:11", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2576, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "11837:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 2577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11846:3:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "11837:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11852:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11837:16:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2590, - "nodeType": "IfStatement", - "src": "11833:98:11", - "trueBody": { - "id": 2589, - "nodeType": "Block", - "src": "11855:76:11", - "statements": [ - { - "expression": { - "id": 2583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2581, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "11873:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "313238", - "id": 2582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11883:3:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "11873:13:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2584, - "nodeType": "ExpressionStatement", - "src": "11873:13:11" - }, - { - "expression": { - "id": 2587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2585, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "11904:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 2586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11914:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "11904:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2588, - "nodeType": "ExpressionStatement", - "src": "11904:12:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2591, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "11948:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 2592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11957:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "11948:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11962:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11948:15:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2605, - "nodeType": "IfStatement", - "src": "11944:95:11", - "trueBody": { - "id": 2604, - "nodeType": "Block", - "src": "11965:74:11", - "statements": [ - { - "expression": { - "id": 2598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2596, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "11983:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3634", - "id": 2597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11993:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "11983:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2599, - "nodeType": "ExpressionStatement", - "src": "11983:12:11" - }, - { - "expression": { - "id": 2602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2600, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "12013:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 2601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12023:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "12013:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2603, - "nodeType": "ExpressionStatement", - "src": "12013:11:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2606, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "12056:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3332", - "id": 2607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12065:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "12056:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12070:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12056:15:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2620, - "nodeType": "IfStatement", - "src": "12052:95:11", - "trueBody": { - "id": 2619, - "nodeType": "Block", - "src": "12073:74:11", - "statements": [ - { - "expression": { - "id": 2613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2611, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "12091:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3332", - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12101:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "12091:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2614, - "nodeType": "ExpressionStatement", - "src": "12091:12:11" - }, - { - "expression": { - "id": 2617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2615, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "12121:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 2616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12131:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "12121:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2618, - "nodeType": "ExpressionStatement", - "src": "12121:11:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2621, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "12164:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3136", - "id": 2622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12173:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "12164:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12178:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12164:15:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2635, - "nodeType": "IfStatement", - "src": "12160:95:11", - "trueBody": { - "id": 2634, - "nodeType": "Block", - "src": "12181:74:11", - "statements": [ - { - "expression": { - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2626, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "12199:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3136", - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12209:2:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "12199:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2629, - "nodeType": "ExpressionStatement", - "src": "12199:12:11" - }, - { - "expression": { - "id": 2632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2630, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "12229:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 2631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12239:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "12229:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2633, - "nodeType": "ExpressionStatement", - "src": "12229:11:11" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2636, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "12272:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "38", - "id": 2637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12281:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "12272:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12285:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12272:14:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2646, - "nodeType": "IfStatement", - "src": "12268:64:11", - "trueBody": { - "id": 2645, - "nodeType": "Block", - "src": "12288:44:11", - "statements": [ - { - "expression": { - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2641, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "12306:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 2642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12316:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12306:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2644, - "nodeType": "ExpressionStatement", - "src": "12306:11:11" - } - ] - } - } - ] - }, - { - "expression": { - "id": 2648, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2573, - "src": "12358:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2571, - "id": 2649, - "nodeType": "Return", - "src": "12351:13:11" - } - ] - }, - "documentation": { - "id": 2565, - "nodeType": "StructuredDocumentation", - "src": "11463:240:11", - "text": " @dev Return the log in base 256, rounded down, of a positive value.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string." - }, - "id": 2651, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log256", - "nameLocation": "11717:6:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2567, - "mutability": "mutable", - "name": "value", - "nameLocation": "11732:5:11", - "nodeType": "VariableDeclaration", - "scope": 2651, - "src": "11724:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11724:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11723:15:11" - }, - "returnParameters": { - "id": 2571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2570, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2651, - "src": "11762:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2569, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11762:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11761:9:11" - }, - "scope": 2691, - "src": "11708:663:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2689, - "nodeType": "Block", - "src": "12608:174:11", - "statements": [ - { - "id": 2688, - "nodeType": "UncheckedBlock", - "src": "12618:158:11", - "statements": [ - { - "assignments": [ - 2663 - ], - "declarations": [ - { - "constant": false, - "id": 2663, - "mutability": "mutable", - "name": "result", - "nameLocation": "12650:6:11", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "12642:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12642:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2667, - "initialValue": { - "arguments": [ - { - "id": 2665, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "12666:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2664, - "name": "log256", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2651, - 2690 - ], - "referencedDeclaration": 2651, - "src": "12659:6:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12659:13:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12642:30:11" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2668, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "12693:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - }, - "id": 2672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2669, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2657, - "src": "12703:8:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2670, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1832, - "src": "12715:8:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$1832_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 2671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "12724:2:11", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 1830, - "src": "12715:11:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "src": "12703:23:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 2673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12730:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2674, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "12736:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "33", - "id": 2675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12746:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "12736:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2677, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12735:13:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12730:18:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 2679, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2654, - "src": "12751:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12730:26:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12703:53:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 2683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12763:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 2684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "12703:61:11", - "trueExpression": { - "hexValue": "31", - "id": 2682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12759:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 2685, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12702:63:11", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "12693:72:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2661, - "id": 2687, - "nodeType": "Return", - "src": "12686:79:11" - } - ] - } - ] - }, - "documentation": { - "id": 2652, - "nodeType": "StructuredDocumentation", - "src": "12377:144:11", - "text": " @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 2690, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log256", - "nameLocation": "12535:6:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2658, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2654, - "mutability": "mutable", - "name": "value", - "nameLocation": "12550:5:11", - "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "12542:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12542:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2657, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "12566:8:11", - "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "12557:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 2656, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2655, - "name": "Rounding", - "nameLocations": [ - "12557:8:11" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1832, - "src": "12557:8:11" - }, - "referencedDeclaration": 1832, - "src": "12557:8:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$1832", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "12541:34:11" - }, - "returnParameters": { - "id": 2661, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2660, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2690, - "src": "12599:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12599:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12598:9:11" - }, - "scope": 2691, - "src": "12526:256:11", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2692, - "src": "202:12582:11", - "usedErrors": [] - } - ], - "src": "103:12682:11" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.987Z", - "devdoc": { - "details": "Standard math utilities missing in the Solidity language.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build/contracts/OnChainSVG.json b/build/contracts/OnChainSVG.json deleted file mode 100644 index 611c58f..0000000 --- a/build/contracts/OnChainSVG.json +++ /dev/null @@ -1,2526 +0,0 @@ -{ - "contractName": "OnChainSVG", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "uid", - "type": "uint256" - } - ], - "name": "getSvgImage", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"uid\",\"type\":\"uint256\"}],\"name\":\"getSvgImage\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/OnChainSVG.sol\":\"OnChainSVG\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/OnChainSVG.sol\":{\"keccak256\":\"0xce893c5e5b2e607e91da0fecddc58e8416d517a204766f8baf69151422775c13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e59f2aae0b1885f08d5ce2a2b9ee6696bbf9101e8a58ea89fd417ccc14ff9f4\",\"dweb:/ipfs/Qmd4MHGxR4TCrFZhtQpuaT3PUnQXDoR4VCFwZm7nNXLWm5\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506126e5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80636796b7dd14610030575b600080fd5b61004a60048036038101906100459190610339565b610060565b60405161005791906103f6565b60405180910390f35b6060600061006d836100dd565b905060006040518061096001604052806109318152602001611d7f610931913990506000604051806118c0016040528061189b81526020016104e461189b913990508183826040516020016100c493929190610454565b6040516020818303038152906040529350505050919050565b6060600060016100ec846101ab565b01905060008167ffffffffffffffff81111561010b5761010a610485565b5b6040519080825280601f01601f19166020018201604052801561013d5781602001600182028036833780820191505090505b509050600082602001820190505b6001156101a0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610194576101936104b4565b5b0494506000850361014b575b819350505050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610209577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816101ff576101fe6104b4565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610246576d04ee2d6d415b85acef8100000000838161023c5761023b6104b4565b5b0492506020810190505b662386f26fc10000831061027557662386f26fc10000838161026b5761026a6104b4565b5b0492506010810190505b6305f5e100831061029e576305f5e1008381610294576102936104b4565b5b0492506008810190505b61271083106102c35761271083816102b9576102b86104b4565b5b0492506004810190505b606483106102e657606483816102dc576102db6104b4565b5b0492506002810190505b600a83106102f5576001810190505b80915050919050565b600080fd5b6000819050919050565b61031681610303565b811461032157600080fd5b50565b6000813590506103338161030d565b92915050565b60006020828403121561034f5761034e6102fe565b5b600061035d84828501610324565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103a0578082015181840152602081019050610385565b60008484015250505050565b6000601f19601f8301169050919050565b60006103c882610366565b6103d28185610371565b93506103e2818560208601610382565b6103eb816103ac565b840191505092915050565b6000602082019050818103600083015261041081846103bd565b905092915050565b600081905092915050565b600061042e82610366565b6104388185610418565b9350610448818560208601610382565b80840191505092915050565b60006104608286610423565b915061046c8285610423565b91506104788284610423565b9150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfe5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e3c7376672069643d22655932476a50376b355374312220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f7376672220786d6c6e733a786c696e6b3d22687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b222076696577426f783d22302030203531312e393939203531312e393939222073686170652d72656e646572696e673d2267656f6d6574726963507265636973696f6e2220746578742d72656e646572696e673d2267656f6d6574726963507265636973696f6e222077696474683d223531312e39393922206865696768743d223531312e393939223e3c7061746820643d224d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a222066696c6c3d2223333961336462222f3e3c7061746820643d224d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a222066696c6c3d2223333739376433222f3e3c7061746820643d224d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a222066696c6c3d2223383064306531222f3e3c673e3c636972636c6520723d2232372e32303422207472616e73666f726d3d227472616e736c617465283135392e333536203233372e33353529222066696c6c3d2223653866326662222f3e3c7061746820643d224d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a222066696c6c3d2223653866326662222f3e3c2f673e3c7061746820643d224d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829222066696c6c3d2223353162336461222f3e3c7061746820643d224d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129222066696c6c3d2223353162336461222f3e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283237302e363036393738203138302e303431353529222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2232352e35393939352220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2235312e313939392220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283239352e363933363739203333322e34343530393429222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415ba26469706673582212202768012326fcab6fbb4815525c6bdb65726e6d6ec66ef5be846e0bbb18197ae564736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80636796b7dd14610030575b600080fd5b61004a60048036038101906100459190610339565b610060565b60405161005791906103f6565b60405180910390f35b6060600061006d836100dd565b905060006040518061096001604052806109318152602001611d7f610931913990506000604051806118c0016040528061189b81526020016104e461189b913990508183826040516020016100c493929190610454565b6040516020818303038152906040529350505050919050565b6060600060016100ec846101ab565b01905060008167ffffffffffffffff81111561010b5761010a610485565b5b6040519080825280601f01601f19166020018201604052801561013d5781602001600182028036833780820191505090505b509050600082602001820190505b6001156101a0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610194576101936104b4565b5b0494506000850361014b575b819350505050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610209577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816101ff576101fe6104b4565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610246576d04ee2d6d415b85acef8100000000838161023c5761023b6104b4565b5b0492506020810190505b662386f26fc10000831061027557662386f26fc10000838161026b5761026a6104b4565b5b0492506010810190505b6305f5e100831061029e576305f5e1008381610294576102936104b4565b5b0492506008810190505b61271083106102c35761271083816102b9576102b86104b4565b5b0492506004810190505b606483106102e657606483816102dc576102db6104b4565b5b0492506002810190505b600a83106102f5576001810190505b80915050919050565b600080fd5b6000819050919050565b61031681610303565b811461032157600080fd5b50565b6000813590506103338161030d565b92915050565b60006020828403121561034f5761034e6102fe565b5b600061035d84828501610324565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103a0578082015181840152602081019050610385565b60008484015250505050565b6000601f19601f8301169050919050565b60006103c882610366565b6103d28185610371565b93506103e2818560208601610382565b6103eb816103ac565b840191505092915050565b6000602082019050818103600083015261041081846103bd565b905092915050565b600081905092915050565b600061042e82610366565b6104388185610418565b9350610448818560208601610382565b80840191505092915050565b60006104608286610423565b915061046c8285610423565b91506104788284610423565b9150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfe5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e3c7376672069643d22655932476a50376b355374312220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f7376672220786d6c6e733a786c696e6b3d22687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b222076696577426f783d22302030203531312e393939203531312e393939222073686170652d72656e646572696e673d2267656f6d6574726963507265636973696f6e2220746578742d72656e646572696e673d2267656f6d6574726963507265636973696f6e222077696474683d223531312e39393922206865696768743d223531312e393939223e3c7061746820643d224d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a222066696c6c3d2223333961336462222f3e3c7061746820643d224d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a222066696c6c3d2223333739376433222f3e3c7061746820643d224d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a222066696c6c3d2223383064306531222f3e3c673e3c636972636c6520723d2232372e32303422207472616e73666f726d3d227472616e736c617465283135392e333536203233372e33353529222066696c6c3d2223653866326662222f3e3c7061746820643d224d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a222066696c6c3d2223653866326662222f3e3c2f673e3c7061746820643d224d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829222066696c6c3d2223353162336461222f3e3c7061746820643d224d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129222066696c6c3d2223353162336461222f3e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283237302e363036393738203138302e303431353529222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2232352e35393939352220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2235312e313939392220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283239352e363933363739203333322e34343530393429222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415ba26469706673582212202768012326fcab6fbb4815525c6bdb65726e6d6ec66ef5be846e0bbb18197ae564736f6c63430008130033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:3887:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "47:35:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "57:19:15", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "73:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "67:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "67:9:15" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "57:6:15" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "40:6:15", - "type": "" - } - ], - "src": "7:75:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "177:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "194:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "197:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "187:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "187:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "187:12:15" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulFunctionDefinition", - "src": "88:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "300:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "317:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "320:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "310:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "310:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "310:12:15" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulFunctionDefinition", - "src": "211:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "379:32:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "389:16:15", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "400:5:15" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "389:7:15" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "361:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "371:7:15", - "type": "" - } - ], - "src": "334:77:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "460:79:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "517:16:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "526:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "529:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "519:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "519:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "519:12:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "483:5:15" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "508:5:15" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "490:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "490:24:15" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "480:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "480:35:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "473:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "473:43:15" - }, - "nodeType": "YulIf", - "src": "470:63:15" - } - ] - }, - "name": "validator_revert_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "453:5:15", - "type": "" - } - ], - "src": "417:122:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "597:87:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "607:29:15", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "629:6:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "616:12:15" - }, - "nodeType": "YulFunctionCall", - "src": "616:20:15" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "607:5:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "672:5:15" - } - ], - "functionName": { - "name": "validator_revert_t_uint256", - "nodeType": "YulIdentifier", - "src": "645:26:15" - }, - "nodeType": "YulFunctionCall", - "src": "645:33:15" - }, - "nodeType": "YulExpressionStatement", - "src": "645:33:15" - } - ] - }, - "name": "abi_decode_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "575:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "583:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "591:5:15", - "type": "" - } - ], - "src": "545:139:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "756:263:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "802:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "804:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "804:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "804:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "777:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "786:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "773:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "773:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "798:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "769:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "769:32:15" - }, - "nodeType": "YulIf", - "src": "766:119:15" - }, - { - "nodeType": "YulBlock", - "src": "895:117:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "910:15:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "924:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "914:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "939:63:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "974:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "985:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "970:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "970:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "994:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "949:20:15" - }, - "nodeType": "YulFunctionCall", - "src": "949:53:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "939:6:15" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "726:9:15", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "737:7:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "749:6:15", - "type": "" - } - ], - "src": "690:329:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1084:40:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1095:22:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1111:5:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1105:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "1105:12:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1095:6:15" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1067:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1077:6:15", - "type": "" - } - ], - "src": "1025:99:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1226:73:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1243:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1248:6:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1236:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1236:19:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1236:19:15" - }, - { - "nodeType": "YulAssignment", - "src": "1264:29:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1283:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1288:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1279:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1279:14:15" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "1264:11:15" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1198:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1203:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "1214:11:15", - "type": "" - } - ], - "src": "1130:169:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1367:184:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1377:10:15", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1386:1:15", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1381:1:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1446:63:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1471:3:15" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1476:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1467:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1467:11:15" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1490:3:15" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1495:1:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1486:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1486:11:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1480:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "1480:18:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1460:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1460:39:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1460:39:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1407:1:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1410:6:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1404:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "1404:13:15" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1418:19:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1420:15:15", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1429:1:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1432:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1425:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1425:10:15" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1420:1:15" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1400:3:15", - "statements": [] - }, - "src": "1396:113:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1529:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1534:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1525:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1525:16:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1543:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1518:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "1518:27:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1518:27:15" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1349:3:15", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "1354:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1359:6:15", - "type": "" - } - ], - "src": "1305:246:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1605:54:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1615:38:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1633:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1640:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1629:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1629:14:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1649:2:15", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1645:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1645:7:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1625:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1625:28:15" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "1615:6:15" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1588:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "1598:6:15", - "type": "" - } - ], - "src": "1557:102:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1757:285:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1767:53:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1814:5:15" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "1781:32:15" - }, - "nodeType": "YulFunctionCall", - "src": "1781:39:15" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1771:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1829:78:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1895:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1900:6:15" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "1836:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "1836:71:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1829:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1955:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1962:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1951:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1951:16:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1969:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1974:6:15" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "1916:34:15" - }, - "nodeType": "YulFunctionCall", - "src": "1916:65:15" - }, - "nodeType": "YulExpressionStatement", - "src": "1916:65:15" - }, - { - "nodeType": "YulAssignment", - "src": "1990:46:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2001:3:15" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2028:6:15" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "2006:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "2006:29:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1997:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "1997:39:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1990:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1738:5:15", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1745:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1753:3:15", - "type": "" - } - ], - "src": "1665:377:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2166:195:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2176:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2188:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2199:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2184:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2184:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2176:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2223:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2234:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2219:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2219:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2242:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2248:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2238:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2238:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2212:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2212:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2212:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "2268:86:15", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2340:6:15" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2349:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "2276:63:15" - }, - "nodeType": "YulFunctionCall", - "src": "2276:78:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2268: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": "2138:9:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2150:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2161:4:15", - "type": "" - } - ], - "src": "2048:313:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2481:34:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2491:18:15", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2506:3:15" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "2491:11:15" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2453:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2458:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "2469:11:15", - "type": "" - } - ], - "src": "2367:148:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2631:280:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2641:53:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2688:5:15" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "2655:32:15" - }, - "nodeType": "YulFunctionCall", - "src": "2655:39:15" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2645:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2703:96:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2787:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2792:6:15" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "2710:76:15" - }, - "nodeType": "YulFunctionCall", - "src": "2710:89:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2703:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2847:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2854:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2843:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2843:16:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2861:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2866:6:15" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "2808:34:15" - }, - "nodeType": "YulFunctionCall", - "src": "2808:65:15" - }, - "nodeType": "YulExpressionStatement", - "src": "2808:65:15" - }, - { - "nodeType": "YulAssignment", - "src": "2882:23:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2893:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2898:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2889:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2889:16:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2882:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2612:5:15", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2619:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2627:3:15", - "type": "" - } - ], - "src": "2521:390:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3149:363:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3160:102:15", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3249:6:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3258:3:15" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "3167:81:15" - }, - "nodeType": "YulFunctionCall", - "src": "3167:95:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3160:3:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3272:102:15", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3361:6:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3370:3:15" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "3279:81:15" - }, - "nodeType": "YulFunctionCall", - "src": "3279:95:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3272:3:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3384:102:15", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3473:6:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3482:3:15" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "3391:81:15" - }, - "nodeType": "YulFunctionCall", - "src": "3391:95:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3384:3:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3496:10:15", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3503:3:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3496:3:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "3112:3:15", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3118:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3126:6:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3134:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3145:3:15", - "type": "" - } - ], - "src": "2917:595:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3546:152:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3563:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3566:77:15", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3556:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3556:88:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3556:88:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3660:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3663:4:15", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3653:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3653:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3653:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3684:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3687:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3677:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3677:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3677:15:15" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "3518:180:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3732:152:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3749:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3752:77:15", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3742:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3742:88:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3742:88:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3846:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3849:4:15", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3839:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3839:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3839:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3870:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3873:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3863:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3863:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "3863:15:15" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "3704:180:15" - } - ] - }, - "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\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 mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2, pos)\n\n end := pos\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n}\n", - "id": 15, - "language": "Yul", - "name": "#utility.yul" - } - ], - "sourceMap": "118:8916:13:-:0;;;141:16;;;;;;;;;;118:8916;;;;;;", - "deployedSourceMap": "118:8916:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;160:8872;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;214:13;232:21;256;273:3;256:16;:21::i;:::-;232:45;;281:15;:2373;;;;;;;;;;;;;;;;;;;2658:15;:6320;;;;;;;;;;;;;;;;;;;9013:1;9016:7;9025:1;8996:31;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8982:46;;;;;160:8872;;;:::o;447:696:8:-;503:13;552:14;589:1;569:17;580:5;569:10;:17::i;:::-;:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:41;;659:11;785:6;781:2;777:15;769:6;765:28;758:35;;820:280;827:4;820:280;;;851:5;;;;;;;;990:8;985:2;978:5;974:14;969:30;964:3;956:44;1044:2;1035:11;;;;;;:::i;:::-;;;;;1077:1;1068:5;:10;820:280;1064:21;820:280;1120:6;1113:13;;;;;447:696;;;:::o;10139:916:11:-;10192:7;10211:14;10228:1;10211:18;;10276:8;10267:5;:17;10263:103;;10313:8;10304:17;;;;;;:::i;:::-;;;;;10349:2;10339:12;;;;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;;;;:::i;:::-;;;;;10465:2;10455:12;;;;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;;;;:::i;:::-;;;;;10581:2;10571:12;;;;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;;;;:::i;:::-;;;;;10695:1;10685:11;;;;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;;;;:::i;:::-;;;;;10808:1;10798:11;;;;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;;;;:::i;:::-;;;;;10921:1;10911:11;;;;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;;;;10950:66;11042:6;11035:13;;;10139:916;;;:::o;88:117:15:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:246::-;1386:1;1396:113;1410:6;1407:1;1404:13;1396:113;;;1495:1;1490:3;1486:11;1480:18;1476:1;1471:3;1467:11;1460:39;1432:2;1429:1;1425:10;1420:15;;1396:113;;;1543:1;1534:6;1529:3;1525:16;1518:27;1367:184;1305:246;;;:::o;1557:102::-;1598:6;1649:2;1645:7;1640:2;1633:5;1629:14;1625:28;1615:38;;1557:102;;;:::o;1665:377::-;1753:3;1781:39;1814:5;1781:39;:::i;:::-;1836:71;1900:6;1895:3;1836:71;:::i;:::-;1829:78;;1916:65;1974:6;1969:3;1962:4;1955:5;1951:16;1916:65;:::i;:::-;2006:29;2028:6;2006:29;:::i;:::-;2001:3;1997:39;1990:46;;1757:285;1665:377;;;;:::o;2048:313::-;2161:4;2199:2;2188:9;2184:18;2176:26;;2248:9;2242:4;2238:20;2234:1;2223:9;2219:17;2212:47;2276:78;2349:4;2340:6;2276:78;:::i;:::-;2268:86;;2048:313;;;;:::o;2367:148::-;2469:11;2506:3;2491:18;;2367:148;;;;:::o;2521:390::-;2627:3;2655:39;2688:5;2655:39;:::i;:::-;2710:89;2792:6;2787:3;2710:89;:::i;:::-;2703:96;;2808:65;2866:6;2861:3;2854:4;2847:5;2843:16;2808:65;:::i;:::-;2898:6;2893:3;2889:16;2882:23;;2631:280;2521:390;;;;:::o;2917:595::-;3145:3;3167:95;3258:3;3249:6;3167:95;:::i;:::-;3160:102;;3279:95;3370:3;3361:6;3279:95;:::i;:::-;3272:102;;3391:95;3482:3;3473:6;3391:95;:::i;:::-;3384:102;;3503:3;3496:10;;2917:595;;;;;;:::o;3518:180::-;3566:77;3563:1;3556:88;3663:4;3660:1;3653:15;3687:4;3684:1;3677:15;3704:180;3752:77;3749:1;3742:88;3849:4;3846:1;3839:15;3873:4;3870:1;3863:15", - "source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\n\ncontract OnChainSVG {\n\tconstructor() {}\n\n\tfunction getSvgImage(uint uid) external pure returns (string memory){\n\t\tstring memory uid_str = Strings.toString(uid);\n\t\tstring memory a = 'Credit SystemSoulbound Token(CSSBT)';\n\t\tstring memory b = \"\";\n\t\treturn string(abi.encodePacked(a, uid_str, b));\n\t}\n}\n", - "sourcePath": "/home/snsd0805/code/1112_blockchain/Final/contracts/OnChainSVG.sol", - "ast": { - "absolutePath": "project:/contracts/OnChainSVG.sol", - "exportedSymbols": { - "Math": [ - 2691 - ], - "OnChainSVG": [ - 2837 - ], - "SignedMath": [ - 2796 - ], - "Strings": [ - 1789 - ] - }, - "id": 2838, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2798, - "literals": [ - "solidity", - ">=", - "0.4", - ".22", - "<", - "0.9", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "32:32:13" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "@openzeppelin/contracts/utils/Strings.sol", - "id": 2799, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2838, - "sourceUnit": 1790, - "src": "65:51:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "OnChainSVG", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2837, - "linearizedBaseContracts": [ - 2837 - ], - "name": "OnChainSVG", - "nameLocation": "127:10:13", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2802, - "nodeType": "Block", - "src": "155:2:13", - "statements": [] - }, - "id": 2803, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2800, - "nodeType": "ParameterList", - "parameters": [], - "src": "152:2:13" - }, - "returnParameters": { - "id": 2801, - "nodeType": "ParameterList", - "parameters": [], - "src": "155:0:13" - }, - "scope": 2837, - "src": "141:16:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2835, - "nodeType": "Block", - "src": "228:8804:13", - "statements": [ - { - "assignments": [ - 2811 - ], - "declarations": [ - { - "constant": false, - "id": 2811, - "mutability": "mutable", - "name": "uid_str", - "nameLocation": "246:7:13", - "nodeType": "VariableDeclaration", - "scope": 2835, - "src": "232:21:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2810, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "232:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2816, - "initialValue": { - "arguments": [ - { - "id": 2814, - "name": "uid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2805, - "src": "273:3:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2812, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "256:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$1789_$", - "typeString": "type(library Strings)" - } - }, - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "264:8:13", - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 1619, - "src": "256:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 2815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "256:21:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "232:45:13" - }, - { - "assignments": [ - 2818 - ], - "declarations": [ - { - "constant": false, - "id": 2818, - "mutability": "mutable", - "name": "a", - "nameLocation": "295:1:13", - "nodeType": "VariableDeclaration", - "scope": 2835, - "src": "281:15:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2817, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "281:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2820, - "initialValue": { - "hexValue": "3c7376672069643d22655932476a50376b355374312220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f7376672220786d6c6e733a786c696e6b3d22687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b222076696577426f783d22302030203531312e393939203531312e393939222073686170652d72656e646572696e673d2267656f6d6574726963507265636973696f6e2220746578742d72656e646572696e673d2267656f6d6574726963507265636973696f6e222077696474683d223531312e39393922206865696768743d223531312e393939223e3c7061746820643d224d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a222066696c6c3d2223333961336462222f3e3c7061746820643d224d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a222066696c6c3d2223333739376433222f3e3c7061746820643d224d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a222066696c6c3d2223383064306531222f3e3c673e3c636972636c6520723d2232372e32303422207472616e73666f726d3d227472616e736c617465283135392e333536203233372e33353529222066696c6c3d2223653866326662222f3e3c7061746820643d224d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a222066696c6c3d2223653866326662222f3e3c2f673e3c7061746820643d224d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829222066696c6c3d2223353162336461222f3e3c7061746820643d224d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129222066696c6c3d2223353162336461222f3e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283237302e363036393738203138302e303431353529222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2232352e35393939352220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2235312e313939392220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283239352e363933363739203333322e34343530393429222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b", - "id": 2819, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "299:2355:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a20e4716261edec8361c36422842c58d1d5fc8b652496c3ad653882c41a61361", - "typeString": "literal_string \"Credit SystemSoulbound Token(CSSBT)\"" - }, - "value": "<svg id=\"eY2GjP7k5St1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 511.999 511.999\" shape-rendering=\"geometricPrecision\" text-rendering=\"geometricPrecision\" width=\"511.999\" height=\"511.999\"><path d=\"M460.803,446.739h-409.606C22.967,446.739,0,423.772,0,395.542v-279.085C0,88.227,22.967,65.26,51.197,65.26h409.605c28.23,0,51.197,22.967,51.197,51.197v279.084c.001,28.231-22.966,51.198-51.196,51.198Z\" fill=\"#39a3db\"/><path d=\"M460.803,65.26h-204.804v381.479h204.802c28.23,0,51.197-22.967,51.197-51.197v-279.085C512,88.227,489.033,65.26,460.803,65.26Z\" fill=\"#3797d3\"/><path d=\"M237.413,381.144h-156.122c-10.264,0-18.586-8.322-18.586-18.586v-213.119c0-10.264,8.322-18.586,18.586-18.586h156.122c10.264,0,18.586,8.322,18.586,18.586v213.119c0,10.266-8.32,18.586-18.586,18.586Z\" fill=\"#80d0e1\"/><g><circle r=\"27.204\" transform=\"translate(159.356 237.355)\" fill=\"#e8f2fb\"/><path d=\"M160.414,285.559c-40.261,0-73.306,30.9-76.71,70.279-.312,3.614,2.556,6.721,6.184,6.721h141.053c3.628,0,6.496-3.106,6.184-6.721-3.405-39.378-36.449-70.279-76.711-70.279Z\" fill=\"#e8f2fb\"/></g><path d=\"M439.004,234.586h-147.18c-10.264,0-18.586-8.322-18.586-18.586v-66.561c0-10.264,8.322-18.586,18.586-18.586h147.18c10.264,0,18.586,8.322,18.586,18.586v66.561c0,10.265-8.321,18.586-18.586,18.586Z\" transform=\"matrix(1.06575 0 0 1.15416-23.142833-14.750278)\" fill=\"#51b3da\"/><path d=\"M439.004,284.497h-147.18c-10.264,0-18.586-8.322-18.586-18.586s8.322-18.586,18.586-18.586h147.18c10.264,0,18.586,8.322,18.586,18.586c0,10.266-8.321,18.586-18.586,18.586Z\" transform=\"matrix(1.075331 0 0 1.526395-25.760726-81.826221)\" fill=\"#51b3da\"/><text dx=\"0\" dy=\"0\" font-family=\"&quot;eY2GjP7k5St1:::Source Sans Pro&quot;\" font-size=\"25.59995\" font-weight=\"700\" transform=\"translate(270.606978 180.04155)\" fill=\"#fff\" stroke-width=\"0\"><tspan y=\"0\" font-weight=\"700\" stroke-width=\"0\"><![CDATA[Credit SystemSoulbound Token(CSSBT)" - }, - "nodeType": "VariableDeclarationStatement", - "src": "281:2373:13" - }, - { - "assignments": [ - 2822 - ], - "declarations": [ - { - "constant": false, - "id": 2822, - "mutability": "mutable", - "name": "b", - "nameLocation": "2672:1:13", - "nodeType": "VariableDeclaration", - "scope": 2835, - "src": "2658:15:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2821, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2658:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2824, - "initialValue": { - "hexValue": "5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e", - "id": 2823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2677:6301:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3b8052da42b9847f866978e427af2eeb6ff3d7c7469020abf02b901a8c834480", - "typeString": "literal_string \"\"" - }, - "value": "]]>" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2658:6320:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2829, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "9013:1:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2830, - "name": "uid_str", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2811, - "src": "9016:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2831, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2822, - "src": "9025:1:13", - "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" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 2827, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "8996:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9000:12:13", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "8996:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8996:31:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8989:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2825, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8989:6:13", - "typeDescriptions": {} - } - }, - "id": 2833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8989:39:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 2809, - "id": 2834, - "nodeType": "Return", - "src": "8982:46:13" - } - ] - }, - "functionSelector": "6796b7dd", - "id": 2836, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSvgImage", - "nameLocation": "169:11:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2806, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2805, - "mutability": "mutable", - "name": "uid", - "nameLocation": "186:3:13", - "nodeType": "VariableDeclaration", - "scope": 2836, - "src": "181:8:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2804, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "181:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "180:10:13" - }, - "returnParameters": { - "id": 2809, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2808, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2836, - "src": "214:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2807, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "214:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "213:15:13" - }, - "scope": 2837, - "src": "160:8872:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2838, - "src": "118:8916:13", - "usedErrors": [] - } - ], - "src": "32:9003:13" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.990Z", - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build/contracts/SignedMath.json b/build/contracts/SignedMath.json deleted file mode 100644 index e14dd6e..0000000 --- a/build/contracts/SignedMath.json +++ /dev/null @@ -1,1355 +0,0 @@ -{ - "contractName": "SignedMath", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}", - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208033b5a6c324fdcc20d0911e83115e8bf3b22b861b07464c80cb392818b4cfcd64736f6c63430008130033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208033b5a6c324fdcc20d0911e83115e8bf3b22b861b07464c80cb392818b4cfcd64736f6c63430008130033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "215:1047:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "215:1047:12:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // must be unchecked in order to support `n = type(int256).min`\n return uint256(n >= 0 ? n : -n);\n }\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", - "exportedSymbols": { - "SignedMath": [ - 2796 - ] - }, - "id": 2797, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2693, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "109:23:12" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "SignedMath", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 2694, - "nodeType": "StructuredDocumentation", - "src": "134:80:12", - "text": " @dev Standard signed math utilities missing in the Solidity language." - }, - "fullyImplemented": true, - "id": 2796, - "linearizedBaseContracts": [ - 2796 - ], - "name": "SignedMath", - "nameLocation": "223:10:12", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2711, - "nodeType": "Block", - "src": "375:37:12", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 2706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2704, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2697, - "src": "392:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 2705, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2699, - "src": "396:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "392:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 2708, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2699, - "src": "404:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 2709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "392:13:12", - "trueExpression": { - "id": 2707, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2697, - "src": "400:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "functionReturnParameters": 2703, - "id": 2710, - "nodeType": "Return", - "src": "385:20:12" - } - ] - }, - "documentation": { - "id": 2695, - "nodeType": "StructuredDocumentation", - "src": "240:66:12", - "text": " @dev Returns the largest of two signed numbers." - }, - "id": 2712, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "max", - "nameLocation": "320:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2700, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2697, - "mutability": "mutable", - "name": "a", - "nameLocation": "331:1:12", - "nodeType": "VariableDeclaration", - "scope": 2712, - "src": "324:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2696, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "324:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2699, - "mutability": "mutable", - "name": "b", - "nameLocation": "341:1:12", - "nodeType": "VariableDeclaration", - "scope": 2712, - "src": "334:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2698, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "334:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "323:20:12" - }, - "returnParameters": { - "id": 2703, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2702, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2712, - "src": "367:6:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2701, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "367:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "366:8:12" - }, - "scope": 2796, - "src": "311:101:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2729, - "nodeType": "Block", - "src": "554:37:12", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 2724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2722, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2715, - "src": "571:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 2723, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2717, - "src": "575:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "571:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 2726, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2717, - "src": "583:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 2727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "571:13:12", - "trueExpression": { - "id": 2725, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2715, - "src": "579:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "functionReturnParameters": 2721, - "id": 2728, - "nodeType": "Return", - "src": "564:20:12" - } - ] - }, - "documentation": { - "id": 2713, - "nodeType": "StructuredDocumentation", - "src": "418:67:12", - "text": " @dev Returns the smallest of two signed numbers." - }, - "id": 2730, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nameLocation": "499:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2715, - "mutability": "mutable", - "name": "a", - "nameLocation": "510:1:12", - "nodeType": "VariableDeclaration", - "scope": 2730, - "src": "503:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2714, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "503:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2717, - "mutability": "mutable", - "name": "b", - "nameLocation": "520:1:12", - "nodeType": "VariableDeclaration", - "scope": 2730, - "src": "513:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2716, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "513:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "502:20:12" - }, - "returnParameters": { - "id": 2721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2720, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2730, - "src": "546:6:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2719, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "546:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "545:8:12" - }, - "scope": 2796, - "src": "490:101:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2773, - "nodeType": "Block", - "src": "796:162:12", - "statements": [ - { - "assignments": [ - 2741 - ], - "declarations": [ - { - "constant": false, - "id": 2741, - "mutability": "mutable", - "name": "x", - "nameLocation": "865:1:12", - "nodeType": "VariableDeclaration", - "scope": 2773, - "src": "858:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2740, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "858:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 2754, - "initialValue": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 2753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 2744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2742, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2733, - "src": "870:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "id": 2743, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "874:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "870:5:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "id": 2745, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "869:7:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 2751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 2748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2746, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2733, - "src": "881:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "id": 2747, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "885:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "881:5:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "id": 2749, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "880:7:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2750, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "891:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "880:12:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "id": 2752, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "879:14:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "869:24:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "858:35:12" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 2771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2755, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2741, - "src": "910:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 2769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2760, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2741, - "src": "930:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 2759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "922:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "922:7:12", - "typeDescriptions": {} - } - }, - "id": 2761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "922:10:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "323535", - "id": 2762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "936:3:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_255_by_1", - "typeString": "int_const 255" - }, - "value": "255" - }, - "src": "922:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "915:6:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int256_$", - "typeString": "type(int256)" - }, - "typeName": { - "id": 2756, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "915:6:12", - "typeDescriptions": {} - } - }, - "id": 2764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "915:25:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 2767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2765, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2733, - "src": "944:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "id": 2766, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2735, - "src": "948:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "944:5:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "id": 2768, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "943:7:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "915:35:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "id": 2770, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "914:37:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "910:41:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "functionReturnParameters": 2739, - "id": 2772, - "nodeType": "Return", - "src": "903:48:12" - } - ] - }, - "documentation": { - "id": 2731, - "nodeType": "StructuredDocumentation", - "src": "597:126:12", - "text": " @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero." - }, - "id": 2774, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "average", - "nameLocation": "737:7:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2736, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2733, - "mutability": "mutable", - "name": "a", - "nameLocation": "752:1:12", - "nodeType": "VariableDeclaration", - "scope": 2774, - "src": "745:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2732, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "745:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2735, - "mutability": "mutable", - "name": "b", - "nameLocation": "762:1:12", - "nodeType": "VariableDeclaration", - "scope": 2774, - "src": "755:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2734, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "755:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "744:20:12" - }, - "returnParameters": { - "id": 2739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2738, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2774, - "src": "788:6:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2737, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "788:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "787:8:12" - }, - "scope": 2796, - "src": "728:230:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2794, - "nodeType": "Block", - "src": "1102:158:12", - "statements": [ - { - "id": 2793, - "nodeType": "UncheckedBlock", - "src": "1112:142:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 2786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2784, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2777, - "src": "1227:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "hexValue": "30", - "id": 2785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1232:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1227:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 2789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "1240:2:12", - "subExpression": { - "id": 2788, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2777, - "src": "1241:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 2790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1227:15:12", - "trueExpression": { - "id": 2787, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2777, - "src": "1236:1:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 2783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1219:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1219:7:12", - "typeDescriptions": {} - } - }, - "id": 2791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1219:24:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2781, - "id": 2792, - "nodeType": "Return", - "src": "1212:31:12" - } - ] - } - ] - }, - "documentation": { - "id": 2775, - "nodeType": "StructuredDocumentation", - "src": "964:78:12", - "text": " @dev Returns the absolute unsigned value of a signed value." - }, - "id": 2795, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "abs", - "nameLocation": "1056:3:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2778, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2777, - "mutability": "mutable", - "name": "n", - "nameLocation": "1067:1:12", - "nodeType": "VariableDeclaration", - "scope": 2795, - "src": "1060:8:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 2776, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "1060:6:12", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "1059:10:12" - }, - "returnParameters": { - "id": 2781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2780, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2795, - "src": "1093:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1093:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1092:9:12" - }, - "scope": 2796, - "src": "1047:213:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2797, - "src": "215:1047:12", - "usedErrors": [] - } - ], - "src": "109:1154:12" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.990Z", - "devdoc": { - "details": "Standard signed math utilities missing in the Solidity language.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file diff --git a/build/contracts/SoulboundToken.json b/build/contracts/SoulboundToken.json deleted file mode 100644 index 3aba3f6..0000000 --- a/build/contracts/SoulboundToken.json +++ /dev/null @@ -1,19981 +0,0 @@ -{ - "contractName": "SoulboundToken", - "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": "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", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "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", - "constant": true - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "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", - "constant": true - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "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": "player", - "type": "address" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"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\":[{\"internalType\":\"address\",\"name\":\"player\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"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\":{\"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\":\"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\":{\"project:/contracts/SoulboundToken.sol\":\"SoulboundToken\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Base64.sol\":{\"keccak256\":\"0x5f3461639fe20794cfb4db4a6d8477388a15b2e70a018043084b7c4bedfa8136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5309e2cc4cdc3395214edb0ff43ff5a5f7373f5a425383e540f6fab530f96\",\"dweb:/ipfs/QmTV8DZ9knJDa3b5NPBFQqjvTzodyZVjRUg5mx5A99JPLJ\"]},\"@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\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@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/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/SoulboundToken.sol\":{\"keccak256\":\"0x26816cb75a4968b100a3f2a207fca38cedb2b00cea0170884f511e0758caf912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1669dfdce0bff1fdf1668c103a55284ab514310b2e053c41f61c08de3326a9b1\",\"dweb:/ipfs/QmRbcpswGzBHY8ZWvQDHgSTkCHB1XsBC2h9TqcjDikLTsJ\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280601181526020017f4372656469742053797374656d205342540000000000000000000000000000008152506040518060400160405280600681526020017f43535f534254000000000000000000000000000000000000000000000000000081525081600090816200008f919062000324565b508060019081620000a1919062000324565b5050506200040b565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012c57607f821691505b602082108103620001425762000141620000e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200016d565b620001b886836200016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000205620001ff620001f984620001d0565b620001da565b620001d0565b9050919050565b6000819050919050565b6200022183620001e4565b6200023962000230826200020c565b8484546200017a565b825550505050565b600090565b6200025062000241565b6200025d81848462000216565b505050565b5b8181101562000285576200027960008262000246565b60018101905062000263565b5050565b601f821115620002d4576200029e8162000148565b620002a9846200015d565b81016020851015620002b9578190505b620002d1620002c8856200015d565b83018262000262565b50505b505050565b600082821c905092915050565b6000620002f960001984600802620002d9565b1980831691505092915050565b6000620003148383620002e6565b9150826002028217905092915050565b6200032f82620000aa565b67ffffffffffffffff8111156200034b576200034a620000b5565b5b62000357825462000113565b6200036482828562000289565b600060209050601f8311600181146200039c576000841562000387578287015190505b62000393858262000306565b86555062000403565b601f198416620003ac8662000148565b60005b82811015620003d657848901518255600182019150602085019450602081019050620003af565b86831015620003f65784890151620003f2601f891682620002e6565b8355505b6001600288020188555050505b505050505050565b614de9806200041b6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636a6278421161008c578063a22cb46511610066578063a22cb4651461026f578063b88d4fde1461028b578063c87b56dd146102a7578063e985e9c5146102d7576100ea565b80636a627842146101f157806370a082311461022157806395d89b4114610251576100ea565b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018957806342842e0e146101a55780636352211e146101c1576100ea565b806301ffc9a7146100ef57806306fdde031461011f578063081812fc1461013d575b600080fd5b61010960048036038101906101049190611a82565b610307565b6040516101169190611aca565b60405180910390f35b6101276103e9565b6040516101349190611b75565b60405180910390f35b61015760048036038101906101529190611bcd565b61047b565b6040516101649190611c3b565b60405180910390f35b61018760048036038101906101829190611c82565b6104c1565b005b6101a3600480360381019061019e9190611cc2565b6105d8565b005b6101bf60048036038101906101ba9190611cc2565b610638565b005b6101db60048036038101906101d69190611bcd565b610658565b6040516101e89190611c3b565b60405180910390f35b61020b60048036038101906102069190611d15565b6106de565b6040516102189190611d51565b60405180910390f35b61023b60048036038101906102369190611d15565b61070b565b6040516102489190611d51565b60405180910390f35b6102596107c2565b6040516102669190611b75565b60405180910390f35b61028960048036038101906102849190611d98565b610854565b005b6102a560048036038101906102a09190611f0d565b61086a565b005b6102c160048036038101906102bc9190611bcd565b6108cc565b6040516102ce9190611b75565b60405180910390f35b6102f160048036038101906102ec9190611f90565b61093d565b6040516102fe9190611aca565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103e257506103e1826109d1565b5b9050919050565b6060600080546103f890611fff565b80601f016020809104026020016040519081016040528092919081815260200182805461042490611fff565b80156104715780601f1061044657610100808354040283529160200191610471565b820191906000526020600020905b81548152906001019060200180831161045457829003601f168201915b5050505050905090565b600061048682610a3b565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104cc82610658565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361053c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610533906120a2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661055b610a86565b73ffffffffffffffffffffffffffffffffffffffff16148061058a575061058981610584610a86565b61093d565b5b6105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c090612134565b60405180910390fd5b6105d38383610a8e565b505050565b6105e96105e3610a86565b82610b47565b610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f906121c6565b60405180910390fd5b610633838383610bdc565b505050565b6106538383836040518060200160405280600081525061086a565b505050565b60008061066483610ed5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cc90612232565b60405180910390fd5b80915050919050565b60006106ea6006610f12565b60006106f66006610f28565b90506107028382610f36565b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610772906122c4565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107d190611fff565b80601f01602080910402602001604051908101604052809291908181526020018280546107fd90611fff565b801561084a5780601f1061081f5761010080835404028352916020019161084a565b820191906000526020600020905b81548152906001019060200180831161082d57829003601f168201915b5050505050905090565b61086661085f610a86565b8383611153565b5050565b61087b610875610a86565b83610b47565b6108ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b1906121c6565b60405180910390fd5b6108c6848484846112bf565b50505050565b60606108d782610a3b565b60006109136108e58461131b565b6108ee856113e9565b6040516020016108ff9291906124c2565b604051602081830303815290604052611466565b9050806040516020016109269190612569565b604051602081830303815290604052915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a44816115c9565b610a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7a90612232565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610b0183610658565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610b5383610658565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b955750610b94818561093d565b5b80610bd357508373ffffffffffffffffffffffffffffffffffffffff16610bbb8461047b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610bfc82610658565b73ffffffffffffffffffffffffffffffffffffffff1614610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c49906125fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb89061268f565b60405180910390fd5b610cce838383600161160a565b8273ffffffffffffffffffffffffffffffffffffffff16610cee82610658565b73ffffffffffffffffffffffffffffffffffffffff1614610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b906125fd565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ed0838383600161170d565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6001816000016000828254019250508190555050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9c906126fb565b60405180910390fd5b610fae816115c9565b15610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590612767565b60405180910390fd5b610ffc60008383600161160a565b611005816115c9565b15611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c90612767565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461114f60008383600161170d565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b8906127d3565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112b29190611aca565b60405180910390a3505050565b6112ca848484610bdc565b6112d684848484611713565b611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c90612865565b60405180910390fd5b50505050565b60606000600161132a8461189a565b01905060008167ffffffffffffffff81111561134957611348611de2565b5b6040519080825280601f01601f19166020018201604052801561137b5781602001600182028036833780820191505090505b509050600082602001820190505b6001156113de578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816113d2576113d1612885565b5b04945060008503611389575b819350505050919050565b606060006113f68361131b565b9050600060405180610960016040528061093c815260200161447861093c913990506000604051806118c0016040528061189b8152602001612b9d61189b9139905081838260405160200161144d939291906128b4565b6040516020818303038152906040529350505050919050565b60606000825103611488576040518060200160405280600081525090506115c4565b600060405180606001604052806040815260200161443860409139905060006003600285516114b79190612914565b6114c19190612948565b60046114cd9190612979565b67ffffffffffffffff8111156114e6576114e5611de2565b5b6040519080825280601f01601f1916602001820160405280156115185781602001600182028036833780820191505090505b509050600182016020820185865187015b80821015611584576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845360018401935050611529565b50506003865106600181146115a057600281146115b3576115bb565b603d6001830353603d60028303536115bb565b603d60018303535b50505080925050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff166115eb83610ed5565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116715750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b6116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a790612a07565b60405180910390fd5b60006116bb8461070b565b146116fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f290612a99565b60405180910390fd5b611707848484846119ed565b50505050565b50505050565b60006117348473ffffffffffffffffffffffffffffffffffffffff166119f3565b1561188d578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261175d610a86565b8786866040518563ffffffff1660e01b815260040161177f9493929190612b0e565b6020604051808303816000875af19250505080156117bb57506040513d601f19601f820116820180604052508101906117b89190612b6f565b60015b61183d573d80600081146117eb576040519150601f19603f3d011682016040523d82523d6000602084013e6117f0565b606091505b506000815103611835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182c90612865565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611892565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106118f8577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816118ee576118ed612885565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611935576d04ee2d6d415b85acef8100000000838161192b5761192a612885565b5b0492506020810190505b662386f26fc10000831061196457662386f26fc10000838161195a57611959612885565b5b0492506010810190505b6305f5e100831061198d576305f5e100838161198357611982612885565b5b0492506008810190505b61271083106119b25761271083816119a8576119a7612885565b5b0492506004810190505b606483106119d557606483816119cb576119ca612885565b5b0492506002810190505b600a83106119e4576001810190505b80915050919050565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a5f81611a2a565b8114611a6a57600080fd5b50565b600081359050611a7c81611a56565b92915050565b600060208284031215611a9857611a97611a20565b5b6000611aa684828501611a6d565b91505092915050565b60008115159050919050565b611ac481611aaf565b82525050565b6000602082019050611adf6000830184611abb565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b1f578082015181840152602081019050611b04565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b4782611ae5565b611b518185611af0565b9350611b61818560208601611b01565b611b6a81611b2b565b840191505092915050565b60006020820190508181036000830152611b8f8184611b3c565b905092915050565b6000819050919050565b611baa81611b97565b8114611bb557600080fd5b50565b600081359050611bc781611ba1565b92915050565b600060208284031215611be357611be2611a20565b5b6000611bf184828501611bb8565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c2582611bfa565b9050919050565b611c3581611c1a565b82525050565b6000602082019050611c506000830184611c2c565b92915050565b611c5f81611c1a565b8114611c6a57600080fd5b50565b600081359050611c7c81611c56565b92915050565b60008060408385031215611c9957611c98611a20565b5b6000611ca785828601611c6d565b9250506020611cb885828601611bb8565b9150509250929050565b600080600060608486031215611cdb57611cda611a20565b5b6000611ce986828701611c6d565b9350506020611cfa86828701611c6d565b9250506040611d0b86828701611bb8565b9150509250925092565b600060208284031215611d2b57611d2a611a20565b5b6000611d3984828501611c6d565b91505092915050565b611d4b81611b97565b82525050565b6000602082019050611d666000830184611d42565b92915050565b611d7581611aaf565b8114611d8057600080fd5b50565b600081359050611d9281611d6c565b92915050565b60008060408385031215611daf57611dae611a20565b5b6000611dbd85828601611c6d565b9250506020611dce85828601611d83565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e1a82611b2b565b810181811067ffffffffffffffff82111715611e3957611e38611de2565b5b80604052505050565b6000611e4c611a16565b9050611e588282611e11565b919050565b600067ffffffffffffffff821115611e7857611e77611de2565b5b611e8182611b2b565b9050602081019050919050565b82818337600083830152505050565b6000611eb0611eab84611e5d565b611e42565b905082815260208101848484011115611ecc57611ecb611ddd565b5b611ed7848285611e8e565b509392505050565b600082601f830112611ef457611ef3611dd8565b5b8135611f04848260208601611e9d565b91505092915050565b60008060008060808587031215611f2757611f26611a20565b5b6000611f3587828801611c6d565b9450506020611f4687828801611c6d565b9350506040611f5787828801611bb8565b925050606085013567ffffffffffffffff811115611f7857611f77611a25565b5b611f8487828801611edf565b91505092959194509250565b60008060408385031215611fa757611fa6611a20565b5b6000611fb585828601611c6d565b9250506020611fc685828601611c6d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061201757607f821691505b60208210810361202a57612029611fd0565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061208c602183611af0565b915061209782612030565b604082019050919050565b600060208201905081810360008301526120bb8161207f565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061211e603d83611af0565b9150612129826120c2565b604082019050919050565b6000602082019050818103600083015261214d81612111565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006121b0602d83611af0565b91506121bb82612154565b604082019050919050565b600060208201905081810360008301526121df816121a3565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061221c601883611af0565b9150612227826121e6565b602082019050919050565b6000602082019050818103600083015261224b8161220f565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006122ae602983611af0565b91506122b982612252565b604082019050919050565b600060208201905081810360008301526122dd816122a1565b9050919050565b600081905092915050565b7f7b226e616d65223a20224372656469742053797374656d20536f756c626f756e60008201527f6420546f6b656e20284353534254292023000000000000000000000000000000602082015250565b600061234b6031836122e4565b9150612356826122ef565b603182019050919050565b600061236c82611ae5565b61237681856122e4565b9350612386818560208601611b01565b80840191505092915050565b7f222c000000000000000000000000000000000000000000000000000000000000600082015250565b60006123c86002836122e4565b91506123d382612392565b600282019050919050565b7f22696d6167655f64617461223a20220000000000000000000000000000000000600082015250565b6000612414600f836122e4565b915061241f826123de565b600f82019050919050565b7f2200000000000000000000000000000000000000000000000000000000000000600082015250565b60006124606001836122e4565b915061246b8261242a565b600182019050919050565b7f7d00000000000000000000000000000000000000000000000000000000000000600082015250565b60006124ac6001836122e4565b91506124b782612476565b600182019050919050565b60006124cd8261233e565b91506124d98285612361565b91506124e4826123bb565b91506124ef82612407565b91506124fb8284612361565b915061250682612453565b91506125118261249f565b91508190509392505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b6000612553601d836122e4565b915061255e8261251d565b601d82019050919050565b600061257482612546565b91506125808284612361565b915081905092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006125e7602583611af0565b91506125f28261258b565b604082019050919050565b60006020820190508181036000830152612616816125da565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612679602483611af0565b91506126848261261d565b604082019050919050565b600060208201905081810360008301526126a88161266c565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006126e5602083611af0565b91506126f0826126af565b602082019050919050565b60006020820190508181036000830152612714816126d8565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000612751601c83611af0565b915061275c8261271b565b602082019050919050565b6000602082019050818103600083015261278081612744565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006127bd601983611af0565b91506127c882612787565b602082019050919050565b600060208201905081810360008301526127ec816127b0565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061284f603283611af0565b915061285a826127f3565b604082019050919050565b6000602082019050818103600083015261287e81612842565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006128c08286612361565b91506128cc8285612361565b91506128d88284612361565b9150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061291f82611b97565b915061292a83611b97565b9250828201905080821115612942576129416128e5565b5b92915050565b600061295382611b97565b915061295e83611b97565b92508261296e5761296d612885565b5b828204905092915050565b600061298482611b97565b915061298f83611b97565b925082820261299d81611b97565b915082820484148315176129b4576129b36128e5565b5b5092915050565b7f534f554c424f554e443a204e6f6e2d5472616e7366657261626c652e00000000600082015250565b60006129f1601c83611af0565b91506129fc826129bb565b602082019050919050565b60006020820190508181036000830152612a20816129e4565b9050919050565b7f534f554c424f554e443a2045766572796f6e652073686f756c64206f6e6c792060008201527f686176652031205342542e000000000000000000000000000000000000000000602082015250565b6000612a83602b83611af0565b9150612a8e82612a27565b604082019050919050565b60006020820190508181036000830152612ab281612a76565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000612ae082612ab9565b612aea8185612ac4565b9350612afa818560208601611b01565b612b0381611b2b565b840191505092915050565b6000608082019050612b236000830187611c2c565b612b306020830186611c2c565b612b3d6040830185611d42565b8181036060830152612b4f8184612ad5565b905095945050505050565b600081519050612b6981611a56565b92915050565b600060208284031215612b8557612b84611a20565b5b6000612b9384828501612b5a565b9150509291505056fe5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c7376672069643d27655932476a50376b355374312720786d6c6e733d27687474703a2f2f7777772e77332e6f72672f323030302f7376672720786d6c6e733a786c696e6b3d27687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b272076696577426f783d27302030203531312e393939203531312e393939272073686170652d72656e646572696e673d2767656f6d6574726963507265636973696f6e2720746578742d72656e646572696e673d2767656f6d6574726963507265636973696f6e272077696474683d273531312e39393927206865696768743d273531312e393939273e3c7061746820643d274d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a272066696c6c3d2723333961336462272f3e3c7061746820643d274d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a272066696c6c3d2723333739376433272f3e3c7061746820643d274d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a272066696c6c3d2723383064306531272f3e3c673e3c636972636c6520723d2732372e32303427207472616e73666f726d3d277472616e736c617465283135392e333536203233372e33353529272066696c6c3d2723653866326662272f3e3c7061746820643d274d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a272066696c6c3d2723653866326662272f3e3c2f673e3c7061746820643d274d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829272066696c6c3d2723353162336461272f3e3c7061746820643d274d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129272066696c6c3d2723353162336461272f3e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283237302e363036393738203138302e303431353529272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2732352e35393939352720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2735312e313939392720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283239352e363933363739203333322e34343530393429272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b23a2646970667358221220df96b4c98d5a6ddc854dc77f2c0bb9a4040def571f5f16ce67e7f11ffc90c1ca64736f6c63430008130033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636a6278421161008c578063a22cb46511610066578063a22cb4651461026f578063b88d4fde1461028b578063c87b56dd146102a7578063e985e9c5146102d7576100ea565b80636a627842146101f157806370a082311461022157806395d89b4114610251576100ea565b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018957806342842e0e146101a55780636352211e146101c1576100ea565b806301ffc9a7146100ef57806306fdde031461011f578063081812fc1461013d575b600080fd5b61010960048036038101906101049190611a82565b610307565b6040516101169190611aca565b60405180910390f35b6101276103e9565b6040516101349190611b75565b60405180910390f35b61015760048036038101906101529190611bcd565b61047b565b6040516101649190611c3b565b60405180910390f35b61018760048036038101906101829190611c82565b6104c1565b005b6101a3600480360381019061019e9190611cc2565b6105d8565b005b6101bf60048036038101906101ba9190611cc2565b610638565b005b6101db60048036038101906101d69190611bcd565b610658565b6040516101e89190611c3b565b60405180910390f35b61020b60048036038101906102069190611d15565b6106de565b6040516102189190611d51565b60405180910390f35b61023b60048036038101906102369190611d15565b61070b565b6040516102489190611d51565b60405180910390f35b6102596107c2565b6040516102669190611b75565b60405180910390f35b61028960048036038101906102849190611d98565b610854565b005b6102a560048036038101906102a09190611f0d565b61086a565b005b6102c160048036038101906102bc9190611bcd565b6108cc565b6040516102ce9190611b75565b60405180910390f35b6102f160048036038101906102ec9190611f90565b61093d565b6040516102fe9190611aca565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103e257506103e1826109d1565b5b9050919050565b6060600080546103f890611fff565b80601f016020809104026020016040519081016040528092919081815260200182805461042490611fff565b80156104715780601f1061044657610100808354040283529160200191610471565b820191906000526020600020905b81548152906001019060200180831161045457829003601f168201915b5050505050905090565b600061048682610a3b565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104cc82610658565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361053c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610533906120a2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661055b610a86565b73ffffffffffffffffffffffffffffffffffffffff16148061058a575061058981610584610a86565b61093d565b5b6105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c090612134565b60405180910390fd5b6105d38383610a8e565b505050565b6105e96105e3610a86565b82610b47565b610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f906121c6565b60405180910390fd5b610633838383610bdc565b505050565b6106538383836040518060200160405280600081525061086a565b505050565b60008061066483610ed5565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cc90612232565b60405180910390fd5b80915050919050565b60006106ea6006610f12565b60006106f66006610f28565b90506107028382610f36565b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361077b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610772906122c4565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107d190611fff565b80601f01602080910402602001604051908101604052809291908181526020018280546107fd90611fff565b801561084a5780601f1061081f5761010080835404028352916020019161084a565b820191906000526020600020905b81548152906001019060200180831161082d57829003601f168201915b5050505050905090565b61086661085f610a86565b8383611153565b5050565b61087b610875610a86565b83610b47565b6108ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b1906121c6565b60405180910390fd5b6108c6848484846112bf565b50505050565b60606108d782610a3b565b60006109136108e58461131b565b6108ee856113e9565b6040516020016108ff9291906124c2565b604051602081830303815290604052611466565b9050806040516020016109269190612569565b604051602081830303815290604052915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610a44816115c9565b610a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7a90612232565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610b0183610658565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610b5383610658565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b955750610b94818561093d565b5b80610bd357508373ffffffffffffffffffffffffffffffffffffffff16610bbb8461047b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610bfc82610658565b73ffffffffffffffffffffffffffffffffffffffff1614610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c49906125fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb89061268f565b60405180910390fd5b610cce838383600161160a565b8273ffffffffffffffffffffffffffffffffffffffff16610cee82610658565b73ffffffffffffffffffffffffffffffffffffffff1614610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b906125fd565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ed0838383600161170d565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6001816000016000828254019250508190555050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9c906126fb565b60405180910390fd5b610fae816115c9565b15610fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe590612767565b60405180910390fd5b610ffc60008383600161160a565b611005816115c9565b15611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c90612767565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461114f60008383600161170d565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b8906127d3565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112b29190611aca565b60405180910390a3505050565b6112ca848484610bdc565b6112d684848484611713565b611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c90612865565b60405180910390fd5b50505050565b60606000600161132a8461189a565b01905060008167ffffffffffffffff81111561134957611348611de2565b5b6040519080825280601f01601f19166020018201604052801561137b5781602001600182028036833780820191505090505b509050600082602001820190505b6001156113de578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816113d2576113d1612885565b5b04945060008503611389575b819350505050919050565b606060006113f68361131b565b9050600060405180610960016040528061093c815260200161447861093c913990506000604051806118c0016040528061189b8152602001612b9d61189b9139905081838260405160200161144d939291906128b4565b6040516020818303038152906040529350505050919050565b60606000825103611488576040518060200160405280600081525090506115c4565b600060405180606001604052806040815260200161443860409139905060006003600285516114b79190612914565b6114c19190612948565b60046114cd9190612979565b67ffffffffffffffff8111156114e6576114e5611de2565b5b6040519080825280601f01601f1916602001820160405280156115185781602001600182028036833780820191505090505b509050600182016020820185865187015b80821015611584576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845360018401935050611529565b50506003865106600181146115a057600281146115b3576115bb565b603d6001830353603d60028303536115bb565b603d60018303535b50505080925050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff166115eb83610ed5565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116715750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b6116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a790612a07565b60405180910390fd5b60006116bb8461070b565b146116fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f290612a99565b60405180910390fd5b611707848484846119ed565b50505050565b50505050565b60006117348473ffffffffffffffffffffffffffffffffffffffff166119f3565b1561188d578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261175d610a86565b8786866040518563ffffffff1660e01b815260040161177f9493929190612b0e565b6020604051808303816000875af19250505080156117bb57506040513d601f19601f820116820180604052508101906117b89190612b6f565b60015b61183d573d80600081146117eb576040519150601f19603f3d011682016040523d82523d6000602084013e6117f0565b606091505b506000815103611835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182c90612865565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611892565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106118f8577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816118ee576118ed612885565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611935576d04ee2d6d415b85acef8100000000838161192b5761192a612885565b5b0492506020810190505b662386f26fc10000831061196457662386f26fc10000838161195a57611959612885565b5b0492506010810190505b6305f5e100831061198d576305f5e100838161198357611982612885565b5b0492506008810190505b61271083106119b25761271083816119a8576119a7612885565b5b0492506004810190505b606483106119d557606483816119cb576119ca612885565b5b0492506002810190505b600a83106119e4576001810190505b80915050919050565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a5f81611a2a565b8114611a6a57600080fd5b50565b600081359050611a7c81611a56565b92915050565b600060208284031215611a9857611a97611a20565b5b6000611aa684828501611a6d565b91505092915050565b60008115159050919050565b611ac481611aaf565b82525050565b6000602082019050611adf6000830184611abb565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b1f578082015181840152602081019050611b04565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b4782611ae5565b611b518185611af0565b9350611b61818560208601611b01565b611b6a81611b2b565b840191505092915050565b60006020820190508181036000830152611b8f8184611b3c565b905092915050565b6000819050919050565b611baa81611b97565b8114611bb557600080fd5b50565b600081359050611bc781611ba1565b92915050565b600060208284031215611be357611be2611a20565b5b6000611bf184828501611bb8565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c2582611bfa565b9050919050565b611c3581611c1a565b82525050565b6000602082019050611c506000830184611c2c565b92915050565b611c5f81611c1a565b8114611c6a57600080fd5b50565b600081359050611c7c81611c56565b92915050565b60008060408385031215611c9957611c98611a20565b5b6000611ca785828601611c6d565b9250506020611cb885828601611bb8565b9150509250929050565b600080600060608486031215611cdb57611cda611a20565b5b6000611ce986828701611c6d565b9350506020611cfa86828701611c6d565b9250506040611d0b86828701611bb8565b9150509250925092565b600060208284031215611d2b57611d2a611a20565b5b6000611d3984828501611c6d565b91505092915050565b611d4b81611b97565b82525050565b6000602082019050611d666000830184611d42565b92915050565b611d7581611aaf565b8114611d8057600080fd5b50565b600081359050611d9281611d6c565b92915050565b60008060408385031215611daf57611dae611a20565b5b6000611dbd85828601611c6d565b9250506020611dce85828601611d83565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611e1a82611b2b565b810181811067ffffffffffffffff82111715611e3957611e38611de2565b5b80604052505050565b6000611e4c611a16565b9050611e588282611e11565b919050565b600067ffffffffffffffff821115611e7857611e77611de2565b5b611e8182611b2b565b9050602081019050919050565b82818337600083830152505050565b6000611eb0611eab84611e5d565b611e42565b905082815260208101848484011115611ecc57611ecb611ddd565b5b611ed7848285611e8e565b509392505050565b600082601f830112611ef457611ef3611dd8565b5b8135611f04848260208601611e9d565b91505092915050565b60008060008060808587031215611f2757611f26611a20565b5b6000611f3587828801611c6d565b9450506020611f4687828801611c6d565b9350506040611f5787828801611bb8565b925050606085013567ffffffffffffffff811115611f7857611f77611a25565b5b611f8487828801611edf565b91505092959194509250565b60008060408385031215611fa757611fa6611a20565b5b6000611fb585828601611c6d565b9250506020611fc685828601611c6d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061201757607f821691505b60208210810361202a57612029611fd0565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061208c602183611af0565b915061209782612030565b604082019050919050565b600060208201905081810360008301526120bb8161207f565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061211e603d83611af0565b9150612129826120c2565b604082019050919050565b6000602082019050818103600083015261214d81612111565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006121b0602d83611af0565b91506121bb82612154565b604082019050919050565b600060208201905081810360008301526121df816121a3565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061221c601883611af0565b9150612227826121e6565b602082019050919050565b6000602082019050818103600083015261224b8161220f565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006122ae602983611af0565b91506122b982612252565b604082019050919050565b600060208201905081810360008301526122dd816122a1565b9050919050565b600081905092915050565b7f7b226e616d65223a20224372656469742053797374656d20536f756c626f756e60008201527f6420546f6b656e20284353534254292023000000000000000000000000000000602082015250565b600061234b6031836122e4565b9150612356826122ef565b603182019050919050565b600061236c82611ae5565b61237681856122e4565b9350612386818560208601611b01565b80840191505092915050565b7f222c000000000000000000000000000000000000000000000000000000000000600082015250565b60006123c86002836122e4565b91506123d382612392565b600282019050919050565b7f22696d6167655f64617461223a20220000000000000000000000000000000000600082015250565b6000612414600f836122e4565b915061241f826123de565b600f82019050919050565b7f2200000000000000000000000000000000000000000000000000000000000000600082015250565b60006124606001836122e4565b915061246b8261242a565b600182019050919050565b7f7d00000000000000000000000000000000000000000000000000000000000000600082015250565b60006124ac6001836122e4565b91506124b782612476565b600182019050919050565b60006124cd8261233e565b91506124d98285612361565b91506124e4826123bb565b91506124ef82612407565b91506124fb8284612361565b915061250682612453565b91506125118261249f565b91508190509392505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b6000612553601d836122e4565b915061255e8261251d565b601d82019050919050565b600061257482612546565b91506125808284612361565b915081905092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006125e7602583611af0565b91506125f28261258b565b604082019050919050565b60006020820190508181036000830152612616816125da565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612679602483611af0565b91506126848261261d565b604082019050919050565b600060208201905081810360008301526126a88161266c565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006126e5602083611af0565b91506126f0826126af565b602082019050919050565b60006020820190508181036000830152612714816126d8565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000612751601c83611af0565b915061275c8261271b565b602082019050919050565b6000602082019050818103600083015261278081612744565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006127bd601983611af0565b91506127c882612787565b602082019050919050565b600060208201905081810360008301526127ec816127b0565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061284f603283611af0565b915061285a826127f3565b604082019050919050565b6000602082019050818103600083015261287e81612842565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006128c08286612361565b91506128cc8285612361565b91506128d88284612361565b9150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061291f82611b97565b915061292a83611b97565b9250828201905080821115612942576129416128e5565b5b92915050565b600061295382611b97565b915061295e83611b97565b92508261296e5761296d612885565b5b828204905092915050565b600061298482611b97565b915061298f83611b97565b925082820261299d81611b97565b915082820484148315176129b4576129b36128e5565b5b5092915050565b7f534f554c424f554e443a204e6f6e2d5472616e7366657261626c652e00000000600082015250565b60006129f1601c83611af0565b91506129fc826129bb565b602082019050919050565b60006020820190508181036000830152612a20816129e4565b9050919050565b7f534f554c424f554e443a2045766572796f6e652073686f756c64206f6e6c792060008201527f686176652031205342542e000000000000000000000000000000000000000000602082015250565b6000612a83602b83611af0565b9150612a8e82612a27565b604082019050919050565b60006020820190508181036000830152612ab281612a76565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000612ae082612ab9565b612aea8185612ac4565b9350612afa818560208601611b01565b612b0381611b2b565b840191505092915050565b6000608082019050612b236000830187611c2c565b612b306020830186611c2c565b612b3d6040830185611d42565b8181036060830152612b4f8184612ad5565b905095945050505050565b600081519050612b6981611a56565b92915050565b600060208284031215612b8557612b84611a20565b5b6000612b9384828501612b5a565b9150509291505056fe5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c7376672069643d27655932476a50376b355374312720786d6c6e733d27687474703a2f2f7777772e77332e6f72672f323030302f7376672720786d6c6e733a786c696e6b3d27687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b272076696577426f783d27302030203531312e393939203531312e393939272073686170652d72656e646572696e673d2767656f6d6574726963507265636973696f6e2720746578742d72656e646572696e673d2767656f6d6574726963507265636973696f6e272077696474683d273531312e39393927206865696768743d273531312e393939273e3c7061746820643d274d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a272066696c6c3d2723333961336462272f3e3c7061746820643d274d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a272066696c6c3d2723333739376433272f3e3c7061746820643d274d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a272066696c6c3d2723383064306531272f3e3c673e3c636972636c6520723d2732372e32303427207472616e73666f726d3d277472616e736c617465283135392e333536203233372e33353529272066696c6c3d2723653866326662272f3e3c7061746820643d274d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a272066696c6c3d2723653866326662272f3e3c2f673e3c7061746820643d274d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829272066696c6c3d2723353162336461272f3e3c7061746820643d274d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129272066696c6c3d2723353162336461272f3e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283237302e363036393738203138302e303431353529272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2732352e35393939352720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2735312e313939392720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283239352e363933363739203333322e34343530393429272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b23a2646970667358221220df96b4c98d5a6ddc854dc77f2c0bb9a4040def571f5f16ce67e7f11ffc90c1ca64736f6c63430008130033", - "immutableReferences": {}, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:5231:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "66:40:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "77:22:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "93:5:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "87:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "87:12:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "77:6:14" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "49:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "59:6:14", - "type": "" - } - ], - "src": "7:99:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "140:152:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "157:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "160:77:14", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "150:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "150:88:14" - }, - "nodeType": "YulExpressionStatement", - "src": "150:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "254:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "257:4:14", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "247:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "247:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "247:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "278:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "281:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "271:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "271:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "271:15:14" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "112:180:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "326:152:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "343:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "346:77:14", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "336:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "336:88:14" - }, - "nodeType": "YulExpressionStatement", - "src": "336:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "440:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "443:4:14", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "433:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "433:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "433:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "464:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "467:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "457:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "457:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "457:15:14" - } - ] - }, - "name": "panic_error_0x22", - "nodeType": "YulFunctionDefinition", - "src": "298:180:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "535:269:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "545:22:14", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "559:4:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "565:1:14", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "555:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "555:12:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "545:6:14" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "576:38:14", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "606:4:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "612:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "602:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "602:12:14" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "580:18:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "653:51:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "667:27:14", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "681:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "689:4:14", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "677:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "677:17:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "667:6:14" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "633:18:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "626:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "626:26:14" - }, - "nodeType": "YulIf", - "src": "623:81:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "756:42:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x22", - "nodeType": "YulIdentifier", - "src": "770:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "770:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "770:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "720:18:14" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "743:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "751:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "740:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "740:14:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "717:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "717:38:14" - }, - "nodeType": "YulIf", - "src": "714:84:14" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "519:4:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "528:6:14", - "type": "" - } - ], - "src": "484:320:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "864:87:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "874:11:14", - "value": { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "882:3:14" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "874:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "902:1:14", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "905:3:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "895:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "895:14:14" - }, - "nodeType": "YulExpressionStatement", - "src": "895:14:14" - }, - { - "nodeType": "YulAssignment", - "src": "918:26:14", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "936:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "939:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "926:9:14" - }, - "nodeType": "YulFunctionCall", - "src": "926:18:14" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "918:4:14" - } - ] - } - ] - }, - "name": "array_dataslot_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "851:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "859:4:14", - "type": "" - } - ], - "src": "810:141:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1001:49:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1011:33:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1029:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1036:2:14", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1025:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1025:14:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1041:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "1021:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1021:23:14" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "1011:6:14" - } - ] - } - ] - }, - "name": "divide_by_32_ceil", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "984:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "994:6:14", - "type": "" - } - ], - "src": "957:93:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1109:54:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1119:37:14", - "value": { - "arguments": [ - { - "name": "bits", - "nodeType": "YulIdentifier", - "src": "1144:4:14" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1150:5:14" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1140:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1140:16:14" - }, - "variableNames": [ - { - "name": "newValue", - "nodeType": "YulIdentifier", - "src": "1119:8:14" - } - ] - } - ] - }, - "name": "shift_left_dynamic", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "bits", - "nodeType": "YulTypedName", - "src": "1084:4:14", - "type": "" - }, - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1090:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "newValue", - "nodeType": "YulTypedName", - "src": "1100:8:14", - "type": "" - } - ], - "src": "1056:107:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1245:317:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1255:35:14", - "value": { - "arguments": [ - { - "name": "shiftBytes", - "nodeType": "YulIdentifier", - "src": "1276:10:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1288:1:14", - "type": "", - "value": "8" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "1272:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1272:18:14" - }, - "variables": [ - { - "name": "shiftBits", - "nodeType": "YulTypedName", - "src": "1259:9:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1299:109:14", - "value": { - "arguments": [ - { - "name": "shiftBits", - "nodeType": "YulIdentifier", - "src": "1330:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1341:66:14", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "shift_left_dynamic", - "nodeType": "YulIdentifier", - "src": "1311:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "1311:97:14" - }, - "variables": [ - { - "name": "mask", - "nodeType": "YulTypedName", - "src": "1303:4:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1417:51:14", - "value": { - "arguments": [ - { - "name": "shiftBits", - "nodeType": "YulIdentifier", - "src": "1448:9:14" - }, - { - "name": "toInsert", - "nodeType": "YulIdentifier", - "src": "1459:8:14" - } - ], - "functionName": { - "name": "shift_left_dynamic", - "nodeType": "YulIdentifier", - "src": "1429:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "1429:39:14" - }, - "variableNames": [ - { - "name": "toInsert", - "nodeType": "YulIdentifier", - "src": "1417:8:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1477:30:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1490:5:14" - }, - { - "arguments": [ - { - "name": "mask", - "nodeType": "YulIdentifier", - "src": "1501:4:14" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1497:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1497:9:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1486:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1486:21:14" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1477:5:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1516:40:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1529:5:14" - }, - { - "arguments": [ - { - "name": "toInsert", - "nodeType": "YulIdentifier", - "src": "1540:8:14" - }, - { - "name": "mask", - "nodeType": "YulIdentifier", - "src": "1550:4:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1536:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1536:19:14" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1526:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "1526:30:14" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "1516:6:14" - } - ] - } - ] - }, - "name": "update_byte_slice_dynamic32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1206:5:14", - "type": "" - }, - { - "name": "shiftBytes", - "nodeType": "YulTypedName", - "src": "1213:10:14", - "type": "" - }, - { - "name": "toInsert", - "nodeType": "YulTypedName", - "src": "1225:8:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "1238:6:14", - "type": "" - } - ], - "src": "1169:393:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1613:32:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1623:16:14", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1634:5:14" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "1623:7:14" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1595:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "1605:7:14", - "type": "" - } - ], - "src": "1568:77:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1683:28:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1693:12:14", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1700:5:14" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "1693:3:14" - } - ] - } - ] - }, - "name": "identity", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1669:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "1679:3:14", - "type": "" - } - ], - "src": "1651:60:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1777:82:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1787:66:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1845:5:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "1827:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "1827:24:14" - } - ], - "functionName": { - "name": "identity", - "nodeType": "YulIdentifier", - "src": "1818:8:14" - }, - "nodeType": "YulFunctionCall", - "src": "1818:34:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "1800:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "1800:53:14" - }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "1787:9:14" - } - ] - } - ] - }, - "name": "convert_t_uint256_to_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1757:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "1767:9:14", - "type": "" - } - ], - "src": "1717:142:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1912:28:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1922:12:14", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1929:5:14" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "1922:3:14" - } - ] - } - ] - }, - "name": "prepare_store_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1898:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "1908:3:14", - "type": "" - } - ], - "src": "1865:75:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2022:193:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2032:63:14", - "value": { - "arguments": [ - { - "name": "value_0", - "nodeType": "YulIdentifier", - "src": "2087:7:14" - } - ], - "functionName": { - "name": "convert_t_uint256_to_t_uint256", - "nodeType": "YulIdentifier", - "src": "2056:30:14" - }, - "nodeType": "YulFunctionCall", - "src": "2056:39:14" - }, - "variables": [ - { - "name": "convertedValue_0", - "nodeType": "YulTypedName", - "src": "2036:16:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "2111:4:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "2151:4:14" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "2145:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "2145:11:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2158:6:14" - }, - { - "arguments": [ - { - "name": "convertedValue_0", - "nodeType": "YulIdentifier", - "src": "2190:16:14" - } - ], - "functionName": { - "name": "prepare_store_t_uint256", - "nodeType": "YulIdentifier", - "src": "2166:23:14" - }, - "nodeType": "YulFunctionCall", - "src": "2166:41:14" - } - ], - "functionName": { - "name": "update_byte_slice_dynamic32", - "nodeType": "YulIdentifier", - "src": "2117:27:14" - }, - "nodeType": "YulFunctionCall", - "src": "2117:91:14" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2104:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2104:105:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2104:105:14" - } - ] - }, - "name": "update_storage_value_t_uint256_to_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "1999:4:14", - "type": "" - }, - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2005:6:14", - "type": "" - }, - { - "name": "value_0", - "nodeType": "YulTypedName", - "src": "2013:7:14", - "type": "" - } - ], - "src": "1946:269:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2270:24:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2280:8:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2287:1:14", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "2280:3:14" - } - ] - } - ] - }, - "name": "zero_value_for_split_t_uint256", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "2266:3:14", - "type": "" - } - ], - "src": "2221:73:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2353:136:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2363:46:14", - "value": { - "arguments": [], - "functionName": { - "name": "zero_value_for_split_t_uint256", - "nodeType": "YulIdentifier", - "src": "2377:30:14" - }, - "nodeType": "YulFunctionCall", - "src": "2377:32:14" - }, - "variables": [ - { - "name": "zero_0", - "nodeType": "YulTypedName", - "src": "2367:6:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "2462:4:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2468:6:14" - }, - { - "name": "zero_0", - "nodeType": "YulIdentifier", - "src": "2476:6:14" - } - ], - "functionName": { - "name": "update_storage_value_t_uint256_to_t_uint256", - "nodeType": "YulIdentifier", - "src": "2418:43:14" - }, - "nodeType": "YulFunctionCall", - "src": "2418:65:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2418:65:14" - } - ] - }, - "name": "storage_set_to_zero_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "2339:4:14", - "type": "" - }, - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2345:6:14", - "type": "" - } - ], - "src": "2300:189:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2545:136:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2612:63:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2656:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2663:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "storage_set_to_zero_t_uint256", - "nodeType": "YulIdentifier", - "src": "2626:29:14" - }, - "nodeType": "YulFunctionCall", - "src": "2626:39:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2626:39:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2565:5:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2572:3:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2562:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "2562:14:14" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "2577:26:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2579:22:14", - "value": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2592:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2599:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2588:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2588:13:14" - }, - "variableNames": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2579:5:14" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "2559:2:14", - "statements": [] - }, - "src": "2555:120:14" - } - ] - }, - "name": "clear_storage_range_t_bytes1", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "2533:5:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2540:3:14", - "type": "" - } - ], - "src": "2495:186:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2766:464:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2792:431:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2806:54:14", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2854:5:14" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nodeType": "YulIdentifier", - "src": "2822:31:14" - }, - "nodeType": "YulFunctionCall", - "src": "2822:38:14" - }, - "variables": [ - { - "name": "dataArea", - "nodeType": "YulTypedName", - "src": "2810:8:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2873:63:14", - "value": { - "arguments": [ - { - "name": "dataArea", - "nodeType": "YulIdentifier", - "src": "2896:8:14" - }, - { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "2924:10:14" - } - ], - "functionName": { - "name": "divide_by_32_ceil", - "nodeType": "YulIdentifier", - "src": "2906:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "2906:29:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2892:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2892:44:14" - }, - "variables": [ - { - "name": "deleteStart", - "nodeType": "YulTypedName", - "src": "2877:11:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3093:27:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3095:23:14", - "value": { - "name": "dataArea", - "nodeType": "YulIdentifier", - "src": "3110:8:14" - }, - "variableNames": [ - { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "3095:11:14" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "3077:10:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3089:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3074:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "3074:18:14" - }, - "nodeType": "YulIf", - "src": "3071:49:14" - }, - { - "expression": { - "arguments": [ - { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "3162:11:14" - }, - { - "arguments": [ - { - "name": "dataArea", - "nodeType": "YulIdentifier", - "src": "3179:8:14" - }, - { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "3207:3:14" - } - ], - "functionName": { - "name": "divide_by_32_ceil", - "nodeType": "YulIdentifier", - "src": "3189:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "3189:22:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3175:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3175:37:14" - } - ], - "functionName": { - "name": "clear_storage_range_t_bytes1", - "nodeType": "YulIdentifier", - "src": "3133:28:14" - }, - "nodeType": "YulFunctionCall", - "src": "3133:80:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3133:80:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "2783:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2788:2:14", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2780:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "2780:11:14" - }, - "nodeType": "YulIf", - "src": "2777:446:14" - } - ] - }, - "name": "clean_up_bytearray_end_slots_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "2742:5:14", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "2749:3:14", - "type": "" - }, - { - "name": "startIndex", - "nodeType": "YulTypedName", - "src": "2754:10:14", - "type": "" - } - ], - "src": "2687:543:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3299:54:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3309:37:14", - "value": { - "arguments": [ - { - "name": "bits", - "nodeType": "YulIdentifier", - "src": "3334:4:14" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3340:5:14" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "3330:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3330:16:14" - }, - "variableNames": [ - { - "name": "newValue", - "nodeType": "YulIdentifier", - "src": "3309:8:14" - } - ] - } - ] - }, - "name": "shift_right_unsigned_dynamic", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "bits", - "nodeType": "YulTypedName", - "src": "3274:4:14", - "type": "" - }, - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3280:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "newValue", - "nodeType": "YulTypedName", - "src": "3290:8:14", - "type": "" - } - ], - "src": "3236:117:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3410:118:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3420:68:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3469:1:14", - "type": "", - "value": "8" - }, - { - "name": "bytes", - "nodeType": "YulIdentifier", - "src": "3472:5:14" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "3465:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3465:13:14" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3484:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3480:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3480:6:14" - } - ], - "functionName": { - "name": "shift_right_unsigned_dynamic", - "nodeType": "YulIdentifier", - "src": "3436:28:14" - }, - "nodeType": "YulFunctionCall", - "src": "3436:51:14" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3432:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3432:56:14" - }, - "variables": [ - { - "name": "mask", - "nodeType": "YulTypedName", - "src": "3424:4:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3497:25:14", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3511:4:14" - }, - { - "name": "mask", - "nodeType": "YulIdentifier", - "src": "3517:4:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3507:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3507:15:14" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "3497:6:14" - } - ] - } - ] - }, - "name": "mask_bytes_dynamic", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "3387:4:14", - "type": "" - }, - { - "name": "bytes", - "nodeType": "YulTypedName", - "src": "3393:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "3403:6:14", - "type": "" - } - ], - "src": "3359:169:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3614:214:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3747:37:14", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3774:4:14" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "3780:3:14" - } - ], - "functionName": { - "name": "mask_bytes_dynamic", - "nodeType": "YulIdentifier", - "src": "3755:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "3755:29:14" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3747:4:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3793:29:14", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3804:4:14" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3814:1:14", - "type": "", - "value": "2" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "3817:3:14" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "3810:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3810:11:14" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "3801:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "3801:21:14" - }, - "variableNames": [ - { - "name": "used", - "nodeType": "YulIdentifier", - "src": "3793:4:14" - } - ] - } - ] - }, - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "3595:4:14", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "3601:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "used", - "nodeType": "YulTypedName", - "src": "3609:4:14", - "type": "" - } - ], - "src": "3533:295:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3925:1303:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3936:51:14", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3983:3:14" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "3950:32:14" - }, - "nodeType": "YulFunctionCall", - "src": "3950:37:14" - }, - "variables": [ - { - "name": "newLen", - "nodeType": "YulTypedName", - "src": "3940:6:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4072:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "4074:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "4074:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4074:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "4044:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4052:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4041:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "4041:30:14" - }, - "nodeType": "YulIf", - "src": "4038:56:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4104:52:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "4150:4:14" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "4144:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "4144:11:14" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nodeType": "YulIdentifier", - "src": "4118:25:14" - }, - "nodeType": "YulFunctionCall", - "src": "4118:38:14" - }, - "variables": [ - { - "name": "oldLen", - "nodeType": "YulTypedName", - "src": "4108:6:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "4249:4:14" - }, - { - "name": "oldLen", - "nodeType": "YulIdentifier", - "src": "4255:6:14" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "4263:6:14" - } - ], - "functionName": { - "name": "clean_up_bytearray_end_slots_t_string_storage", - "nodeType": "YulIdentifier", - "src": "4203:45:14" - }, - "nodeType": "YulFunctionCall", - "src": "4203:67:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4203:67:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4280:18:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4297:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "srcOffset", - "nodeType": "YulTypedName", - "src": "4284:9:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4308:17:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4321:4:14", - "type": "", - "value": "0x20" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "4308:9:14" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4372:611:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4386:37:14", - "value": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "4405:6:14" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4417:4:14", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4413:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4413:9:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4401:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4401:22:14" - }, - "variables": [ - { - "name": "loopEnd", - "nodeType": "YulTypedName", - "src": "4390:7:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4437:51:14", - "value": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "4483:4:14" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nodeType": "YulIdentifier", - "src": "4451:31:14" - }, - "nodeType": "YulFunctionCall", - "src": "4451:37:14" - }, - "variables": [ - { - "name": "dstPtr", - "nodeType": "YulTypedName", - "src": "4441:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4501:10:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4510:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4505:1:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4569:163:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "4594:6:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "4612:3:14" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "4617:9:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4608:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4608:19:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4602:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "4602:26:14" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "4587:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "4587:42:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4587:42:14" - }, - { - "nodeType": "YulAssignment", - "src": "4646:24:14", - "value": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "4660:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4668:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4656:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4656:14:14" - }, - "variableNames": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "4646:6:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4687:31:14", - "value": { - "arguments": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "4704:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4715:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4700:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4700:18:14" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "4687:9:14" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4535:1:14" - }, - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "4538:7:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4532:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "4532:14:14" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4547:21:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4549:17:14", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4558:1:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4561:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4554:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4554:12:14" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4549:1:14" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4528:3:14", - "statements": [] - }, - "src": "4524:208:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4768:156:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4786:43:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "4813:3:14" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "4818:9:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4809:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4809:19:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4803:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "4803:26:14" - }, - "variables": [ - { - "name": "lastValue", - "nodeType": "YulTypedName", - "src": "4790:9:14", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "4853:6:14" - }, - { - "arguments": [ - { - "name": "lastValue", - "nodeType": "YulIdentifier", - "src": "4880:9:14" - }, - { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "4895:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4903:4:14", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4891:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4891:17:14" - } - ], - "functionName": { - "name": "mask_bytes_dynamic", - "nodeType": "YulIdentifier", - "src": "4861:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "4861:48:14" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "4846:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "4846:64:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4846:64:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "4751:7:14" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "4760:6:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4748:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "4748:19:14" - }, - "nodeType": "YulIf", - "src": "4745:179:14" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "4944:4:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "4958:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4966:1:14", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4954:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4954:14:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4970:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4950:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4950:22:14" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "4937:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "4937:36:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4937:36:14" - } - ] - }, - "nodeType": "YulCase", - "src": "4365:618:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4370:1:14", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5000:222:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5014:14:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5027:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5018:5:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5051:67:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5069:35:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "5088:3:14" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "5093:9:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5084:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5084:19:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5078:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "5078:26:14" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5069:5:14" - } - ] - } - ] - }, - "condition": { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "5044:6:14" - }, - "nodeType": "YulIf", - "src": "5041:77:14" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "5138:4:14" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5197:5:14" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "5204:6:14" - } - ], - "functionName": { - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulIdentifier", - "src": "5144:52:14" - }, - "nodeType": "YulFunctionCall", - "src": "5144:67:14" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "5131:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5131:81:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5131:81:14" - } - ] - }, - "nodeType": "YulCase", - "src": "4992:230:14", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "4345:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4353:2:14", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4342:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "4342:14:14" - }, - "nodeType": "YulSwitch", - "src": "4335:887:14" - } - ] - }, - "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "3914:4:14", - "type": "" - }, - { - "name": "src", - "nodeType": "YulTypedName", - "src": "3920:3:14", - "type": "" - } - ], - "src": "3833:1395:14" - } - ] - }, - "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", - "id": 14, - "language": "Yul", - "name": "#utility.yul" - } - ], - "deployedGeneratedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:33472:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "47:35:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "57:19:14", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "73:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "67:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "67:9:14" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "57:6:14" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "40:6:14", - "type": "" - } - ], - "src": "7:75:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "177:28:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "194:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "197:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "187:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "187:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "187:12:14" - } - ] - }, - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulFunctionDefinition", - "src": "88:117:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "300:28:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "317:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "320:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "310:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "310:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "310:12:14" - } - ] - }, - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulFunctionDefinition", - "src": "211:117:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "378:105:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "388:89:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "403:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "410:66:14", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "399:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "399:78:14" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "388:7:14" - } - ] - } - ] - }, - "name": "cleanup_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "360:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "370:7:14", - "type": "" - } - ], - "src": "334:149:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "531:78:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "587:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "596:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "599:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "589:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "589:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "589:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "554:5:14" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "578:5:14" - } - ], - "functionName": { - "name": "cleanup_t_bytes4", - "nodeType": "YulIdentifier", - "src": "561:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "561:23:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "551:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "551:34:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "544:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "544:42:14" - }, - "nodeType": "YulIf", - "src": "541:62:14" - } - ] - }, - "name": "validator_revert_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "524:5:14", - "type": "" - } - ], - "src": "489:120:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "666:86:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "676:29:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "698:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "685:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "685:20:14" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "676:5:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "740:5:14" - } - ], - "functionName": { - "name": "validator_revert_t_bytes4", - "nodeType": "YulIdentifier", - "src": "714:25:14" - }, - "nodeType": "YulFunctionCall", - "src": "714:32:14" - }, - "nodeType": "YulExpressionStatement", - "src": "714:32:14" - } - ] - }, - "name": "abi_decode_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "644:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "652:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "660:5:14", - "type": "" - } - ], - "src": "615:137:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "823:262:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "869:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "871:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "871:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "871:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "844:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "853:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "840:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "840:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "865:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "836:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "836:32:14" - }, - "nodeType": "YulIf", - "src": "833:119:14" - }, - { - "nodeType": "YulBlock", - "src": "962:116:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "977:15:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "991:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "981:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1006:62:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1040:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1051:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1036:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1036:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1060:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_bytes4", - "nodeType": "YulIdentifier", - "src": "1016:19:14" - }, - "nodeType": "YulFunctionCall", - "src": "1016:52:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1006:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "793:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "804:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "816:6:14", - "type": "" - } - ], - "src": "758:327:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1133:48:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1143:32:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1168:5:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1161:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1161:13:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1154:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1154:21:14" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "1143:7:14" - } - ] - } - ] - }, - "name": "cleanup_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1115:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "1125:7:14", - "type": "" - } - ], - "src": "1091:90:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1246:50:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1263:3:14" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1283:5:14" - } - ], - "functionName": { - "name": "cleanup_t_bool", - "nodeType": "YulIdentifier", - "src": "1268:14:14" - }, - "nodeType": "YulFunctionCall", - "src": "1268:21:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1256:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1256:34:14" - }, - "nodeType": "YulExpressionStatement", - "src": "1256:34:14" - } - ] - }, - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1234:5:14", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1241:3:14", - "type": "" - } - ], - "src": "1187:109:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1394:118:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1404:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1416:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1427:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1412:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1412:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1404:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1478:6:14" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1491:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1502:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1487:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1487:17:14" - } - ], - "functionName": { - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nodeType": "YulIdentifier", - "src": "1440:37:14" - }, - "nodeType": "YulFunctionCall", - "src": "1440:65:14" - }, - "nodeType": "YulExpressionStatement", - "src": "1440:65:14" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1366:9:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1378:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1389:4:14", - "type": "" - } - ], - "src": "1302:210:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1577:40:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1588:22:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1604:5:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1598:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "1598:12:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1588:6:14" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1560:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1570:6:14", - "type": "" - } - ], - "src": "1518:99:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1719:73:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1736:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1741:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1729:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1729:19:14" - }, - "nodeType": "YulExpressionStatement", - "src": "1729:19:14" - }, - { - "nodeType": "YulAssignment", - "src": "1757:29:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1776:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1781:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1772:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1772:14:14" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "1757:11:14" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1691:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1696:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "1707:11:14", - "type": "" - } - ], - "src": "1623:169:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1860:184:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1870:10:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1879:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1874:1:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1939:63:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1964:3:14" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1969:1:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1960:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1960:11:14" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1983:3:14" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1988:1:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1979:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1979:11:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1973:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "1973:18:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1953:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "1953:39:14" - }, - "nodeType": "YulExpressionStatement", - "src": "1953:39:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1900:1:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1903:6:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1897:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "1897:13:14" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1911:19:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1913:15:14", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1922:1:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1925:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1918:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "1918:10:14" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1913:1:14" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1893:3:14", - "statements": [] - }, - "src": "1889:113:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2022:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2027:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2018:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2018:16:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2036:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2011:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2011:27:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2011:27:14" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1842:3:14", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "1847:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1852:6:14", - "type": "" - } - ], - "src": "1798:246:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2098:54:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2108:38:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2126:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2133:2:14", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2122:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2122:14:14" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2142:2:14", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2138:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2138:7:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2118:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2118:28:14" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "2108:6:14" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2081:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "2091:6:14", - "type": "" - } - ], - "src": "2050:102:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2250:285:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2260:53:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2307:5:14" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "2274:32:14" - }, - "nodeType": "YulFunctionCall", - "src": "2274:39:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2264:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2322:78:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2388:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2393:6:14" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "2329:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "2329:71:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2322:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2448:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2455:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2444:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2444:16:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2462:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2467:6:14" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "2409:34:14" - }, - "nodeType": "YulFunctionCall", - "src": "2409:65:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2409:65:14" - }, - { - "nodeType": "YulAssignment", - "src": "2483:46:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2494:3:14" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2521:6:14" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "2499:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "2499:29:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2490:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2490:39:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2483:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2231:5:14", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2238:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2246:3:14", - "type": "" - } - ], - "src": "2158:377:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2659:195:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2669:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2681:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2692:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2677:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2677:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2669:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2716:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2727:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2712:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2712:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2735:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2741:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2731:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "2731:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2705:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2705:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "2705:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "2761:86:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2833:6:14" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2842:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "2769:63:14" - }, - "nodeType": "YulFunctionCall", - "src": "2769:78:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2761: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": "2631:9:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2643:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2654:4:14", - "type": "" - } - ], - "src": "2541:313:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2905:32:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2915:16:14", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2926:5:14" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "2915:7:14" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2887:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "2897:7:14", - "type": "" - } - ], - "src": "2860:77:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2986:79:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3043:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3052:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3055:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3045:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "3045:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3045:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3009:5:14" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3034:5:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "3016:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "3016:24:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3006:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "3006:35:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2999:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "2999:43:14" - }, - "nodeType": "YulIf", - "src": "2996:63:14" - } - ] - }, - "name": "validator_revert_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2979:5:14", - "type": "" - } - ], - "src": "2943:122:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3123:87:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3133:29:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3155:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3142:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "3142:20:14" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3133:5:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3198:5:14" - } - ], - "functionName": { - "name": "validator_revert_t_uint256", - "nodeType": "YulIdentifier", - "src": "3171:26:14" - }, - "nodeType": "YulFunctionCall", - "src": "3171:33:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3171:33:14" - } - ] - }, - "name": "abi_decode_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3101:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3109:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3117:5:14", - "type": "" - } - ], - "src": "3071:139:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3282:263:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3328:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "3330:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "3330:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3330:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3303:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3312:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3299:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3299:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3324:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3295:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3295:32:14" - }, - "nodeType": "YulIf", - "src": "3292:119:14" - }, - { - "nodeType": "YulBlock", - "src": "3421:117:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3436:15:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3450:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3440:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3465:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3500:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3511:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3496:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3496:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3520:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "3475:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "3475:53:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3465:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3252:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3263:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3275:6:14", - "type": "" - } - ], - "src": "3216:329:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3596:81:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3606:65:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3621:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3628:42:14", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3617:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "3617:54:14" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "3606:7:14" - } - ] - } - ] - }, - "name": "cleanup_t_uint160", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3578:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "3588:7:14", - "type": "" - } - ], - "src": "3551:126:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3728:51:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3738:35:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3767:5:14" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nodeType": "YulIdentifier", - "src": "3749:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "3749:24:14" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "3738:7:14" - } - ] - } - ] - }, - "name": "cleanup_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3710:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "3720:7:14", - "type": "" - } - ], - "src": "3683:96:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3850:53:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3867:3:14" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3890:5:14" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "3872:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "3872:24:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3860:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "3860:37:14" - }, - "nodeType": "YulExpressionStatement", - "src": "3860:37:14" - } - ] - }, - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3838:5:14", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "3845:3:14", - "type": "" - } - ], - "src": "3785:118:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4007:124:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4017:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4029:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4040:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4025:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4025:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4017:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4097:6:14" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4110:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4121:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4106:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4106:17:14" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "4053:43:14" - }, - "nodeType": "YulFunctionCall", - "src": "4053:71:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4053:71:14" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3979:9:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3991:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4002:4:14", - "type": "" - } - ], - "src": "3909:222:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4180:79:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4237:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4246:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4249:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4239:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "4239:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4239:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4203:5:14" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4228:5:14" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "4210:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "4210:24:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "4200:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "4200:35:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4193:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "4193:43:14" - }, - "nodeType": "YulIf", - "src": "4190:63:14" - } - ] - }, - "name": "validator_revert_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4173:5:14", - "type": "" - } - ], - "src": "4137:122:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4317:87:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4327:29:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4349:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4336:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "4336:20:14" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4327:5:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4392:5:14" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "4365:26:14" - }, - "nodeType": "YulFunctionCall", - "src": "4365:33:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4365:33:14" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4295:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "4303:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4311:5:14", - "type": "" - } - ], - "src": "4265:139:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4493:391:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4539:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "4541:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "4541:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "4541:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4514:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4523:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4510:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4510:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4535:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4506:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4506:32:14" - }, - "nodeType": "YulIf", - "src": "4503:119:14" - }, - { - "nodeType": "YulBlock", - "src": "4632:117:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4647:15:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4661:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4651:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4676:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4711:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4722:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4707:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4707:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4731:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "4686:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "4686:53:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4676:6:14" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "4759:118:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4774:16:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4788:2:14", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4778:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4804:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4839:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4850:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4835:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "4835:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4859:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "4814:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "4814:53:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4804:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4455:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4466:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4478:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4486:6:14", - "type": "" - } - ], - "src": "4410:474:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4990:519:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5036:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "5038:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "5038:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5038:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5011:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5020:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5007:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5007:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5032:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5003:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5003:32:14" - }, - "nodeType": "YulIf", - "src": "5000:119:14" - }, - { - "nodeType": "YulBlock", - "src": "5129:117:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5144:15:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5158:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5148:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5173:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5208:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5219:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5204:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5204:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5228:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "5183:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "5183:53:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5173:6:14" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "5256:118:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5271:16:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5285:2:14", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5275:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5301:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5336:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5347:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5332:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5332:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5356:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "5311:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "5311:53:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5301:6:14" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "5384:118:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5399:16:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5413:2:14", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5403:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5429:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5464:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5475:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5460:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5460:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5484:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "5439:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "5439:53:14" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5429:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4944:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4955:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4967:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4975:6:14", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4983:6:14", - "type": "" - } - ], - "src": "4890:619:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5581:263:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5627:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "5629:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "5629:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5629:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5602:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5611:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5598:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5598:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5623:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5594:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5594:32:14" - }, - "nodeType": "YulIf", - "src": "5591:119:14" - }, - { - "nodeType": "YulBlock", - "src": "5720:117:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5735:15:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5749:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5739:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5764:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5799:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5810:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5795:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "5795:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5819:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "5774:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "5774:53:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5764:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5551:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5562:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5574:6:14", - "type": "" - } - ], - "src": "5515:329:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5915:53:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5932:3:14" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5955:5:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "5937:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "5937:24:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5925:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "5925:37:14" - }, - "nodeType": "YulExpressionStatement", - "src": "5925:37:14" - } - ] - }, - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5903:5:14", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "5910:3:14", - "type": "" - } - ], - "src": "5850:118:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6072:124:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6082:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6094:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6105:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6090:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6090:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6082:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6162:6:14" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6175:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6186:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6171:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6171:17:14" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "6118:43:14" - }, - "nodeType": "YulFunctionCall", - "src": "6118:71:14" - }, - "nodeType": "YulExpressionStatement", - "src": "6118:71:14" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6044:9:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6056:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6067:4:14", - "type": "" - } - ], - "src": "5974:222:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6242:76:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6296:16:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6305:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6308:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6298:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "6298:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "6298:12:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6265:5:14" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6287:5:14" - } - ], - "functionName": { - "name": "cleanup_t_bool", - "nodeType": "YulIdentifier", - "src": "6272:14:14" - }, - "nodeType": "YulFunctionCall", - "src": "6272:21:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "6262:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "6262:32:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6255:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "6255:40:14" - }, - "nodeType": "YulIf", - "src": "6252:60:14" - } - ] - }, - "name": "validator_revert_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6235:5:14", - "type": "" - } - ], - "src": "6202:116:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6373:84:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6383:29:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6405:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6392:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "6392:20:14" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6383:5:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6445:5:14" - } - ], - "functionName": { - "name": "validator_revert_t_bool", - "nodeType": "YulIdentifier", - "src": "6421:23:14" - }, - "nodeType": "YulFunctionCall", - "src": "6421:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "6421:30:14" - } - ] - }, - "name": "abi_decode_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6351:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "6359:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6367:5:14", - "type": "" - } - ], - "src": "6324:133:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6543:388:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6589:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "6591:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "6591:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "6591:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6564:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6573:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6560:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6560:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6585:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6556:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6556:32:14" - }, - "nodeType": "YulIf", - "src": "6553:119:14" - }, - { - "nodeType": "YulBlock", - "src": "6682:117:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6697:15:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6711:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6701:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6726:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6761:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6772:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6757:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6757:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6781:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "6736:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "6736:53:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6726:6:14" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6809:115:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6824:16:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6838:2:14", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6828:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6854:60:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6886:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6897:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6882:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "6882:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6906:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_bool", - "nodeType": "YulIdentifier", - "src": "6864:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "6864:50:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6854:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6505:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6516:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6528:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6536:6:14", - "type": "" - } - ], - "src": "6463:468:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7026:28:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7043:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7046:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7036:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7036:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7036:12:14" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulFunctionDefinition", - "src": "6937:117:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7149:28:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7166:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7169:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7159:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7159:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7159:12:14" - } - ] - }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulFunctionDefinition", - "src": "7060:117:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7211:152:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7228:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7231:77:14", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7221:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7221:88:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7221:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7325:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7328:4:14", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7318:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7318:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7318:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7349:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7352:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7342:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7342:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7342:15:14" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "7183:180:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7412:238:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7422:58:14", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7444:6:14" - }, - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "7474:4:14" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "7452:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "7452:27:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7440:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "7440:40:14" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "7426:10:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7591:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "7593:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "7593:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7593:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "7534:10:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7546:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7531:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "7531:34:14" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "7570:10:14" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7582:6:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "7567:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "7567:22:14" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "7528:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "7528:62:14" - }, - "nodeType": "YulIf", - "src": "7525:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7629:2:14", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "7633:10:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7622:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "7622:22:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7622:22:14" - } - ] - }, - "name": "finalize_allocation", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "7398:6:14", - "type": "" - }, - { - "name": "size", - "nodeType": "YulTypedName", - "src": "7406:4:14", - "type": "" - } - ], - "src": "7369:281:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7697:88:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "7707:30:14", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nodeType": "YulIdentifier", - "src": "7717:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "7717:20:14" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7707:6:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7766:6:14" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "7774:4:14" - } - ], - "functionName": { - "name": "finalize_allocation", - "nodeType": "YulIdentifier", - "src": "7746:19:14" - }, - "nodeType": "YulFunctionCall", - "src": "7746:33:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7746:33:14" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "7681:4:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "7690:6:14", - "type": "" - } - ], - "src": "7656:129:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7857:241:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7962:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "7964:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "7964:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "7964:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7934:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7942:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7931:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "7931:30:14" - }, - "nodeType": "YulIf", - "src": "7928:56:14" - }, - { - "nodeType": "YulAssignment", - "src": "7994:37:14", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8024:6:14" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "8002:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "8002:29:14" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "7994:4:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8068:23:14", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "8080:4:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8086:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8076:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8076:15:14" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "8068:4:14" - } - ] - } - ] - }, - "name": "array_allocation_size_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7841:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "7852:4:14", - "type": "" - } - ], - "src": "7791:307:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8168:82:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8191:3:14" - }, - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8196:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8201:6:14" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "8178:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "8178:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8178:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8228:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8233:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8224:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8224:16:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8242:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8217:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8217:27:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8217:27:14" - } - ] - }, - "name": "copy_calldata_to_memory_with_cleanup", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "8150:3:14", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "8155:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8160:6:14", - "type": "" - } - ], - "src": "8104:146:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8339:340:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8349:74:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8415:6:14" - } - ], - "functionName": { - "name": "array_allocation_size_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "8374:40:14" - }, - "nodeType": "YulFunctionCall", - "src": "8374:48:14" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "8358:15:14" - }, - "nodeType": "YulFunctionCall", - "src": "8358:65:14" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "8349:5:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "8439:5:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8446:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8432:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8432:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8432:21:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8462:27:14", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "8477:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8484:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8473:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8473:16:14" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "8466:3:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8527:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulIdentifier", - "src": "8529:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "8529:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8529:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8508:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8513:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8504:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8504:16:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8522:3:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8501:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "8501:25:14" - }, - "nodeType": "YulIf", - "src": "8498:112:14" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8656:3:14" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8661:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8666:6:14" - } - ], - "functionName": { - "name": "copy_calldata_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "8619:36:14" - }, - "nodeType": "YulFunctionCall", - "src": "8619:54:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8619:54:14" - } - ] - }, - "name": "abi_decode_available_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "8312:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8317:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8325:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "8333:5:14", - "type": "" - } - ], - "src": "8256:423:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8759:277:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8808:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "8810:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "8810:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "8810:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8787:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8795:4:14", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8783:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8783:17:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8802:3:14" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8779:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8779:27:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8772:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "8772:35:14" - }, - "nodeType": "YulIf", - "src": "8769:122:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8900:34:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8927:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8914:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "8914:20:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8904:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8943:87:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9003:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9011:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8999:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "8999:17:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9018:6:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9026:3:14" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "8952:46:14" - }, - "nodeType": "YulFunctionCall", - "src": "8952:78:14" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "8943:5:14" - } - ] - } - ] - }, - "name": "abi_decode_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "8737:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8745:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "8753:5:14", - "type": "" - } - ], - "src": "8698:338:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9168:817:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9215:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "9217:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "9217:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9217:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9189:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9198:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9185:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9185:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9210:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "9181:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9181:33:14" - }, - "nodeType": "YulIf", - "src": "9178:120:14" - }, - { - "nodeType": "YulBlock", - "src": "9308:117:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9323:15:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9337:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9327:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9352:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9387:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9398:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9383:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9383:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9407:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "9362:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "9362:53:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9352:6:14" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "9435:118:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9450:16:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9464:2:14", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9454:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9480:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9515:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9526:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9511:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9511:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9535:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "9490:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "9490:53:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9480:6:14" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "9563:118:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9578:16:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9592:2:14", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9582:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9608:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9643:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9654:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9639:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9639:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9663:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "9618:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "9618:53:14" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "9608:6:14" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "9691:287:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9706:46:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9737:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9748:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9733:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9733:18:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9720:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "9720:32:14" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9710:6:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9799:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "9801:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "9801:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9801:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9771:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9779:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9768:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "9768:30:14" - }, - "nodeType": "YulIf", - "src": "9765:117:14" - }, - { - "nodeType": "YulAssignment", - "src": "9896:72:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9940:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9951:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9936:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "9936:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9960:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "9906:29:14" - }, - "nodeType": "YulFunctionCall", - "src": "9906:62:14" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "9896:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9114:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "9125:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9137:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9145:6:14", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9153:6:14", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "9161:6:14", - "type": "" - } - ], - "src": "9042:943:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10074:391:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10120:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "10122:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "10122:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10122:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10095:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10104:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10091:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10091:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10116:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "10087:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10087:32:14" - }, - "nodeType": "YulIf", - "src": "10084:119:14" - }, - { - "nodeType": "YulBlock", - "src": "10213:117:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10228:15:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10242:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "10232:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10257:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10292:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "10303:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10288:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10288:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10312:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "10267:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "10267:53:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10257:6:14" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "10340:118:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10355:16:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10369:2:14", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "10359:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10385:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10420:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "10431:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10416:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10416:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10440:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "10395:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "10395:53:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10385:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10036:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "10047:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10059:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "10067:6:14", - "type": "" - } - ], - "src": "9991:474:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10499:152:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10516:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10519:77:14", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10509:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10509:88:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10509:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10613:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10616:4:14", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10606:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10606:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10606:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10637:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10640:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10630:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10630:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10630:15:14" - } - ] - }, - "name": "panic_error_0x22", - "nodeType": "YulFunctionDefinition", - "src": "10471:180:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10708:269:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10718:22:14", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "10732:4:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10738:1:14", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "10728:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10728:12:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10718:6:14" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10749:38:14", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "10779:4:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10785:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10775:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10775:12:14" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "10753:18:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10826:51:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10840:27:14", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10854:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10862:4:14", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10850:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10850:17:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10840:6:14" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "10806:18:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10799:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10799:26:14" - }, - "nodeType": "YulIf", - "src": "10796:81:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10929:42:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x22", - "nodeType": "YulIdentifier", - "src": "10943:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "10943:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10943:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "10893:18:14" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10916:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10924:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "10913:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10913:14:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "10890:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10890:38:14" - }, - "nodeType": "YulIf", - "src": "10887:84:14" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "10692:4:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10701:6:14", - "type": "" - } - ], - "src": "10657:320:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11089:114:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "11111:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11119:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11107:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11107:14:14" - }, - { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11123:34:14", - "type": "", - "value": "ERC721: approval to current owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11100:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11100:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11100:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "11179:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11187:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11175:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11175:15:14" - }, - { - "hexValue": "72", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11192:3:14", - "type": "", - "value": "r" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11168:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11168:28:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11168:28:14" - } - ] - }, - "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "11081:6:14", - "type": "" - } - ], - "src": "10983:220:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11355:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11365:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11431:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11436:2:14", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "11372:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "11372:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11365:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11537:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "nodeType": "YulIdentifier", - "src": "11448:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "11448:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11448:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "11550:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11561:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11566:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11557:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11557:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11550:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "11343:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11351:3:14", - "type": "" - } - ], - "src": "11209:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11752:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11762:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11774:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11785:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11770:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11770:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11762:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11809:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11820:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11805:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11805:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11828:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11834:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "11824:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11824:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11798:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11798:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11798:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "11854:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11988:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "11862:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "11862:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11854:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11732:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11747:4:14", - "type": "" - } - ], - "src": "11581:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12112:142:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "12134:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12142:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12130:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12130:14:14" - }, - { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "12146:34:14", - "type": "", - "value": "ERC721: approve caller is not to" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12123:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12123:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12123:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "12202:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12210:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12198:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12198:15:14" - }, - { - "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", - "kind": "string", - "nodeType": "YulLiteral", - "src": "12215:31:14", - "type": "", - "value": "ken owner or approved for all" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12191:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12191:56:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12191:56:14" - } - ] - }, - "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "12104:6:14", - "type": "" - } - ], - "src": "12006:248:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12406:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12416:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12482:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12487:2:14", - "type": "", - "value": "61" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "12423:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "12423:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12416:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12588:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", - "nodeType": "YulIdentifier", - "src": "12499:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "12499:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12499:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "12601:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12612:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12617:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12608:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12608:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "12601:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "12394:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "12402:3:14", - "type": "" - } - ], - "src": "12260:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12803:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12813:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12825:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12836:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12821:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12821:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12813:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12860:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12871:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12856:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12856:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12879:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12885:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12875:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12875:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12849:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12849:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12849:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "12905:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13039:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "12913:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "12913:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12905:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12783:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12798:4:14", - "type": "" - } - ], - "src": "12632:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13163:126:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "13185:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13193:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13181:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13181:14:14" - }, - { - "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "13197:34:14", - "type": "", - "value": "ERC721: caller is not token owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13174:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "13174:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13174:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "13253:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13261:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13249:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13249:15:14" - }, - { - "hexValue": "72206f7220617070726f766564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "13266:15:14", - "type": "", - "value": "r or approved" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13242:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "13242:40:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13242:40:14" - } - ] - }, - "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "13155:6:14", - "type": "" - } - ], - "src": "13057:232:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13441:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13451:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13517:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13522:2:14", - "type": "", - "value": "45" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "13458:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "13458:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13451:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13623:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", - "nodeType": "YulIdentifier", - "src": "13534:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "13534:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13534:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "13636:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13647:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13652:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13643:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13643:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "13636:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "13429:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "13437:3:14", - "type": "" - } - ], - "src": "13295:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13838:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13848:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13860:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13871:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13856:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13856:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13848:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13895:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13906:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13891:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13891:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13914:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13920:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "13910:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13910:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13884:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "13884:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13884:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "13940:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14074:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "13948:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "13948:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13940:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13818:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13833:4:14", - "type": "" - } - ], - "src": "13667:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14198:68:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "14220:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14228:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14216:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14216:14:14" - }, - { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "kind": "string", - "nodeType": "YulLiteral", - "src": "14232:26:14", - "type": "", - "value": "ERC721: invalid token ID" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14209:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14209:50:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14209:50:14" - } - ] - }, - "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "14190:6:14", - "type": "" - } - ], - "src": "14092:174:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14418:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14428:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14494:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14499:2:14", - "type": "", - "value": "24" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "14435:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "14435:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14428:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14600:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "nodeType": "YulIdentifier", - "src": "14511:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "14511:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14511:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "14613:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14624:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14629:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14620:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14620:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "14613:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "14406:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "14414:3:14", - "type": "" - } - ], - "src": "14272:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14815:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14825:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14837:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14848:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14833:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14833:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14825:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14872:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14883:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14868:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14868:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14891:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14897:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14887:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14887:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14861:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14861:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14861:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "14917:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15051:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "14925:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "14925:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14917:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14795:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14810:4:14", - "type": "" - } - ], - "src": "14644:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15175:122:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "15197:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15205:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15193:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15193:14:14" - }, - { - "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15209:34:14", - "type": "", - "value": "ERC721: address zero is not a va" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15186:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15186:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15186:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "15265:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15273:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15261:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15261:15:14" - }, - { - "hexValue": "6c6964206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15278:11:14", - "type": "", - "value": "lid owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15254:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15254:36:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15254:36:14" - } - ] - }, - "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "15167:6:14", - "type": "" - } - ], - "src": "15069:228:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15449:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "15459:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15525:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15530:2:14", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "15466:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "15466:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15459:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15631:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", - "nodeType": "YulIdentifier", - "src": "15542:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "15542:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15542:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "15644:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15655:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15660:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15651:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15651:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "15644:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "15437:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "15445:3:14", - "type": "" - } - ], - "src": "15303:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15846:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "15856:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15868:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15879:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15864:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15864:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15856:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15903:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15914:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15899:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15899:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15922:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15928:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "15918:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15918:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15892:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15892:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15892:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "15948:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16082:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "15956:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "15956:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15948:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15826:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15841:4:14", - "type": "" - } - ], - "src": "15675:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16214:34:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16224:18:14", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16239:3:14" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "16224:11:14" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "16186:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "16191:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "16202:11:14", - "type": "" - } - ], - "src": "16100:148:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16360:162:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "16382:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16390:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16378:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16378:14:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16394:66:14", - "type": "", - "value": "0x7b226e616d65223a20224372656469742053797374656d20536f756c626f756e" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16371:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16371:90:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16371:90:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "16482:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16490:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16478:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16478:15:14" - }, - { - "hexValue": "6420546f6b656e20284353534254292023", - "kind": "string", - "nodeType": "YulLiteral", - "src": "16495:19:14", - "type": "", - "value": "d Token (CSSBT) #" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16471:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "16471:44:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16471:44:14" - } - ] - }, - "name": "store_literal_in_memory_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "16352:6:14", - "type": "" - } - ], - "src": "16254:268:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16692:238:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16702:92:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16786:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16791:2:14", - "type": "", - "value": "49" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "16709:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "16709:85:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16702:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16892:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317", - "nodeType": "YulIdentifier", - "src": "16803:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "16803:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "16803:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "16905:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16916:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16921:2:14", - "type": "", - "value": "49" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16912:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16912:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "16905:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "16680:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "16688:3:14", - "type": "" - } - ], - "src": "16528:402:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17046:280:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "17056:53:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "17103:5:14" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "17070:32:14" - }, - "nodeType": "YulFunctionCall", - "src": "17070:39:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "17060:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "17118:96:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17202:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "17207:6:14" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "17125:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "17125:89:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17118:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "17262:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17269:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17258:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17258:16:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17276:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "17281:6:14" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "17223:34:14" - }, - "nodeType": "YulFunctionCall", - "src": "17223:65:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17223:65:14" - }, - { - "nodeType": "YulAssignment", - "src": "17297:23:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17308:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "17313:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17304:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17304:16:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "17297:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "17027:5:14", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "17034:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "17042:3:14", - "type": "" - } - ], - "src": "16936:390:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17438:108:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "17460:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17468:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17456:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17456:14:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17472:66:14", - "type": "", - "value": "0x222c000000000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17449:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "17449:90:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17449:90:14" - } - ] - }, - "name": "store_literal_in_memory_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "17430:6:14", - "type": "" - } - ], - "src": "17332:214:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17716:236:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17726:91:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17810:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17815:1:14", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "17733:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "17733:84:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17726:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17915:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb", - "nodeType": "YulIdentifier", - "src": "17826:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "17826:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17826:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "17928:18:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17939:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17944:1:14", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17935:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17935:11:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "17928:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "17704:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "17712:3:14", - "type": "" - } - ], - "src": "17552:400:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18064:108:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "18086:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18094:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18082:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18082:14:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18098:66:14", - "type": "", - "value": "0x22696d6167655f64617461223a20220000000000000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18075:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18075:90:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18075:90:14" - } - ] - }, - "name": "store_literal_in_memory_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "18056:6:14", - "type": "" - } - ], - "src": "17958:214:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18342:238:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18352:92:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "18436:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18441:2:14", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "18359:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "18359:85:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "18352:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "18542:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8", - "nodeType": "YulIdentifier", - "src": "18453:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "18453:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18453:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "18555:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "18566:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18571:2:14", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18562:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18562:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "18555:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "18330:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "18338:3:14", - "type": "" - } - ], - "src": "18178:402:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18692:108:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "18714:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18722:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18710:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18710:14:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18726:66:14", - "type": "", - "value": "0x2200000000000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18703:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "18703:90:14" - }, - "nodeType": "YulExpressionStatement", - "src": "18703:90:14" - } - ] - }, - "name": "store_literal_in_memory_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "18684:6:14", - "type": "" - } - ], - "src": "18586:214:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18970:236:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18980:91:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19064:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19069:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "18987:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "18987:84:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "18980:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19169:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", - "nodeType": "YulIdentifier", - "src": "19080:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "19080:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "19080:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "19182:18:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19193:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19198:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19189:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "19189:11:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "19182:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "18958:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "18966:3:14", - "type": "" - } - ], - "src": "18806:400:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19318:37:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "19336:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19344:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19332:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "19332:14:14" - }, - { - "hexValue": "7d", - "kind": "string", - "nodeType": "YulLiteral", - "src": "19348:3:14", - "type": "", - "value": "}" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19325:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "19325:27:14" - }, - "nodeType": "YulExpressionStatement", - "src": "19325:27:14" - } - ] - }, - "name": "store_literal_in_memory_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "19310:6:14", - "type": "" - } - ], - "src": "19212:143:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19521:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19527:91:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19611:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19616:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "19534:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "19534:84:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19527:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19712:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff", - "nodeType": "YulIdentifier", - "src": "19623:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "19623:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "19623:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "19721:18:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "19732:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19737:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19728:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "19728:11:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "19721:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "19509:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "19517:3:14", - "type": "" - } - ], - "src": "19357:384:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20432:1040:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20439:155:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20590:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "20446:142:14" - }, - "nodeType": "YulFunctionCall", - "src": "20446:148:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20439:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "20600:102:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "20689:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20698:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "20607:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "20607:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20600:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "20708:155:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20859:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "20715:142:14" - }, - "nodeType": "YulFunctionCall", - "src": "20715:148:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20708:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "20869:155:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21020:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "20876:142:14" - }, - "nodeType": "YulFunctionCall", - "src": "20876:148:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20869:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "21030:102:14", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "21119:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21128:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "21037:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "21037:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21030:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "21138:155:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21289:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "21145:142:14" - }, - "nodeType": "YulFunctionCall", - "src": "21145:148:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21138:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "21299:155:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21450:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "21306:142:14" - }, - "nodeType": "YulFunctionCall", - "src": "21306:148:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21299:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "21460:10:14", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21467:3:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21460:3:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_t_string_memory_ptr_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_t_string_memory_ptr_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "20403:3:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "20409:6:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "20417:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "20428:3:14", - "type": "" - } - ], - "src": "19743:1729:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21580:65:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "21598:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21606:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21594:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "21594:14:14" - }, - { - "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "kind": "string", - "nodeType": "YulLiteral", - "src": "21610:31:14", - "type": "", - "value": "data:application/json;base64," - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21587:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "21587:55:14" - }, - "nodeType": "YulExpressionStatement", - "src": "21587:55:14" - } - ] - }, - "name": "store_literal_in_memory_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "21572:6:14", - "type": "" - } - ], - "src": "21474:171:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21811:222:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21817:92:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21901:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21906:2:14", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "21824:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "21824:85:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21817:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22003:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", - "nodeType": "YulIdentifier", - "src": "21914:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "21914:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "21914:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "22012:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22023:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22028:2:14", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22019:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "22019:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "22012:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "21799:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "21807:3:14", - "type": "" - } - ], - "src": "21647:386:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22272:288:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22279:155:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22430:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "22286:142:14" - }, - "nodeType": "YulFunctionCall", - "src": "22286:148:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22279:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "22440:102:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "22529:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22538:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "22447:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "22447:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22440:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "22548:10:14", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22555:3:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "22548:3:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_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": "22251:3:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22257:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "22268:3:14", - "type": "" - } - ], - "src": "22035:525:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22668:106:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "22686:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22694:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22682:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "22682:14:14" - }, - { - "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", - "kind": "string", - "nodeType": "YulLiteral", - "src": "22698:34:14", - "type": "", - "value": "ERC721: transfer from incorrect " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22675:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "22675:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "22675:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "22750:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22758:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22746:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "22746:15:14" - }, - { - "hexValue": "6f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "22763:7:14", - "type": "", - "value": "owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22739:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "22739:32:14" - }, - "nodeType": "YulExpressionStatement", - "src": "22739:32:14" - } - ] - }, - "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "22660:6:14", - "type": "" - } - ], - "src": "22562:212:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22922:204:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22928:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22994:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22999:2:14", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "22935:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "22935:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22928:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23096:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", - "nodeType": "YulIdentifier", - "src": "23007:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "23007:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "23007:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "23105:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23116:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23121:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23112:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "23112:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "23105:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "22910:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "22918:3:14", - "type": "" - } - ], - "src": "22776:350:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23299:232:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "23305:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23317:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23328:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23313:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "23313:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23305:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23348:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23359:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23344:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "23344:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23367:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23373:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "23363:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "23363:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23337:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "23337:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "23337:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "23389:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23523:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "23397:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "23397:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23389:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "23279:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "23294:4:14", - "type": "" - } - ], - "src": "23128:403:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23639:105:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "23657:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23665:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23653:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "23653:14:14" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", - "kind": "string", - "nodeType": "YulLiteral", - "src": "23669:34:14", - "type": "", - "value": "ERC721: transfer to the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23646:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "23646:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "23646:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "23721:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23729:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23717:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "23717:15:14" - }, - { - "hexValue": "72657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "23734:6:14", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23710:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "23710:31:14" - }, - "nodeType": "YulExpressionStatement", - "src": "23710:31:14" - } - ] - }, - "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "23631:6:14", - "type": "" - } - ], - "src": "23533:211:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23892:204:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "23898:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23964:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23969:2:14", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "23905:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "23905:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23898:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24066:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "nodeType": "YulIdentifier", - "src": "23977:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "23977:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "23977:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "24075:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24086:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24091:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24082:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "24082:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "24075:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "23880:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "23888:3:14", - "type": "" - } - ], - "src": "23746:350:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24269:232:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "24275:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24287:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24298:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24283:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "24283:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24275:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24318:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24329:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24314:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "24314:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24337:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24343:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "24333:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "24333:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24307:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "24307:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "24307:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "24359:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24493:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "24367:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "24367:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24359:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "24249:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "24264:4:14", - "type": "" - } - ], - "src": "24098:403:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24609:68:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "24627:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24635:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24623:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "24623:14:14" - }, - { - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "24639:34:14", - "type": "", - "value": "ERC721: mint to the zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24616:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "24616:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "24616:58:14" - } - ] - }, - "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "24601:6:14", - "type": "" - } - ], - "src": "24503:174:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24825:204:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "24831:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24897:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24902:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "24838:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "24838:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24831:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24999:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "nodeType": "YulIdentifier", - "src": "24910:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "24910:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "24910:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "25008:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25019:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25024:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25015:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "25015:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "25008:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "24813:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "24821:3:14", - "type": "" - } - ], - "src": "24679:350:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25202:232:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "25208:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25220:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25231:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25216:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "25216:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25208:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25251:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25262:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25247:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "25247:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25270:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25276:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "25266:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "25266:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25240:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "25240:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "25240:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "25292:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25426:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "25300:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "25300:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25292:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "25182:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "25197:4:14", - "type": "" - } - ], - "src": "25031:403:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25542:64:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "25560:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25568:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25556:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "25556:14:14" - }, - { - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "25572:30:14", - "type": "", - "value": "ERC721: token already minted" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25549:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "25549:54:14" - }, - "nodeType": "YulExpressionStatement", - "src": "25549:54:14" - } - ] - }, - "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "25534:6:14", - "type": "" - } - ], - "src": "25436:170:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25754:204:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "25760:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25826:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25831:2:14", - "type": "", - "value": "28" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "25767:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "25767:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25760:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25928:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "nodeType": "YulIdentifier", - "src": "25839:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "25839:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "25839:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "25937:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25948:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25953:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25944:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "25944:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "25937:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "25742:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "25750:3:14", - "type": "" - } - ], - "src": "25608:350:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26131:232:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "26137:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26149:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26160:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26145:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "26145:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26137:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26180:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26191:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26176:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "26176:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26199:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26205:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "26195:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "26195:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26169:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "26169:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "26169:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "26221:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26355:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "26229:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "26229:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26221:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "26111:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "26126:4:14", - "type": "" - } - ], - "src": "25960:403:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26471:61:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "26489:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26497:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26485:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "26485:14:14" - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "26501:27:14", - "type": "", - "value": "ERC721: approve to caller" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26478:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "26478:51:14" - }, - "nodeType": "YulExpressionStatement", - "src": "26478:51:14" - } - ] - }, - "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "26463:6:14", - "type": "" - } - ], - "src": "26365:167:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26680:204:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "26686:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26752:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26757:2:14", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "26693:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "26693:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26686:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26854:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "nodeType": "YulIdentifier", - "src": "26765:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "26765:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "26765:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "26863:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26874:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26879:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26870:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "26870:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "26863:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "26668:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "26676:3:14", - "type": "" - } - ], - "src": "26534:350:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27057:232:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27063:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27075:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27086:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27071:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "27071:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "27063:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27106:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27117:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27102:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "27102:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "27125:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27131:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "27121:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "27121:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27095:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "27095:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "27095:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "27147:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "27281:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "27155:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "27155:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "27147:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "27037:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "27052:4:14", - "type": "" - } - ], - "src": "26886:403:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27397:119:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "27415:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27423:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27411:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "27411:14:14" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "27427:34:14", - "type": "", - "value": "ERC721: transfer to non ERC721Re" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27404:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "27404:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "27404:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "27479:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27487:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27475:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "27475:15:14" - }, - { - "hexValue": "63656976657220696d706c656d656e746572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "27492:20:14", - "type": "", - "value": "ceiver implementer" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27468:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "27468:45:14" - }, - "nodeType": "YulExpressionStatement", - "src": "27468:45:14" - } - ] - }, - "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "27389:6:14", - "type": "" - } - ], - "src": "27291:225:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27664:204:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27670:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27736:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27741:2:14", - "type": "", - "value": "50" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "27677:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "27677:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27670:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27838:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "nodeType": "YulIdentifier", - "src": "27749:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "27749:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "27749:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "27847:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27858:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27863:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27854:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "27854:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "27847:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "27652:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "27660:3:14", - "type": "" - } - ], - "src": "27518:350:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28041:232:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28047:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28059:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28070:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28055:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "28055:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28047:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28090:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28101:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28086:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "28086:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28109:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28115:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "28105:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "28105:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28079:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "28079:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "28079:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "28131:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28265:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "28139:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "28139:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28131:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "28021:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "28036:4:14", - "type": "" - } - ], - "src": "27870:403:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28303:136:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28316:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28319:77:14", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28309:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "28309:88:14" - }, - "nodeType": "YulExpressionStatement", - "src": "28309:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28409:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28412:4:14", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28402:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "28402:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "28402:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28429:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28432:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "28422:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "28422:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "28422:15:14" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "28275:164:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28673:343:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28680:102:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "28769:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28778:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "28687:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "28687:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28680:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "28788:102:14", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "28877:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28886:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "28795:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "28795:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28788:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "28896:102:14", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "28985:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28994:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "28903:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "28903:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28896:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "29004:10:14", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29011:3:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "29004:3:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "28636:3:14", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "28642:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "28650:6:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "28658:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "28669:3:14", - "type": "" - } - ], - "src": "28441:575:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29046:136:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29059:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29062:77:14", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29052:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "29052:88:14" - }, - "nodeType": "YulExpressionStatement", - "src": "29052:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29152:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29155:4:14", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29145:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "29145:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "29145:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29172:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29175:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "29165:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "29165:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "29165:15:14" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "29018:164:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29228:127:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29234:25:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29257:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "29239:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "29239:20:14" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29234:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "29264:25:14", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29287:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "29269:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "29269:20:14" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29264:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "29294:16:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29305:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29308:1:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29301:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "29301:9:14" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "29294:3:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29330:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "29332:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "29332:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "29332:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29322:1:14" - }, - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "29325:3:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "29319:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "29319:10:14" - }, - "nodeType": "YulIf", - "src": "29316:36:14" - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "29215:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "29218:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "29224:3:14", - "type": "" - } - ], - "src": "29184:171:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29399:123:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29405:25:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29428:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "29410:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "29410:20:14" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29405:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "29435:25:14", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29458:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "29440:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "29440:20:14" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29435:1:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29478:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "29480:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "29480:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "29480:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29475:1:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "29468:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "29468:9:14" - }, - "nodeType": "YulIf", - "src": "29465:35:14" - }, - { - "nodeType": "YulAssignment", - "src": "29506:14:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29515:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29518:1:14" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "29511:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "29511:9:14" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "29506:1:14" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "29388:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "29391:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "29397:1:14", - "type": "" - } - ], - "src": "29357:165:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29572:314:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29578:25:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29601:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "29583:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "29583:20:14" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29578:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "29608:25:14", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29631:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "29613:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "29613:20:14" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29608:1:14" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "29638:28:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29661:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29664:1:14" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "29657:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "29657:9:14" - }, - "variables": [ - { - "name": "product_raw", - "nodeType": "YulTypedName", - "src": "29642:11:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "29671:41:14", - "value": { - "arguments": [ - { - "name": "product_raw", - "nodeType": "YulIdentifier", - "src": "29700:11:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "29682:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "29682:30:14" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "29671:7:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29861:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "29863:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "29863:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "29863:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29806:1:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "29799:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "29799:9:14" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "29825:1:14" - }, - { - "arguments": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "29832:7:14" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29841:1:14" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "29828:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "29828:15:14" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "29822:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "29822:22:14" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "29783:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "29783:71:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "29767:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "29767:93:14" - }, - "nodeType": "YulIf", - "src": "29764:119:14" - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "29555:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "29558:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "29564:7:14", - "type": "" - } - ], - "src": "29524:362:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29994:64:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "30012:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30020:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30008:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "30008:14:14" - }, - { - "hexValue": "534f554c424f554e443a204e6f6e2d5472616e7366657261626c652e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "30024:30:14", - "type": "", - "value": "SOULBOUND: Non-Transferable." - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30001:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "30001:54:14" - }, - "nodeType": "YulExpressionStatement", - "src": "30001:54:14" - } - ] - }, - "name": "store_literal_in_memory_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "29986:6:14", - "type": "" - } - ], - "src": "29888:170:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30206:204:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "30212:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30278:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30283:2:14", - "type": "", - "value": "28" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "30219:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "30219:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30212:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30380:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa", - "nodeType": "YulIdentifier", - "src": "30291:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "30291:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "30291:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "30389:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30400:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30405:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30396:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "30396:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "30389:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "30194:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "30202:3:14", - "type": "" - } - ], - "src": "30060:350:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30583:232:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "30589:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30601:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30612:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30597:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "30597:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "30589:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30632:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30643:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30628:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "30628:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "30651:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30657:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "30647:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "30647:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30621:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "30621:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "30621:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "30673:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "30807:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "30681:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "30681:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "30673:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "30563:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "30578:4:14", - "type": "" - } - ], - "src": "30412:403:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30923:112:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "30941:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30949:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30937:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "30937:14:14" - }, - { - "hexValue": "534f554c424f554e443a2045766572796f6e652073686f756c64206f6e6c7920", - "kind": "string", - "nodeType": "YulLiteral", - "src": "30953:34:14", - "type": "", - "value": "SOULBOUND: Everyone should only " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30930:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "30930:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "30930:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "31005:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31013:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31001:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "31001:15:14" - }, - { - "hexValue": "686176652031205342542e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "31018:13:14", - "type": "", - "value": "have 1 SBT." - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30994:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "30994:38:14" - }, - "nodeType": "YulExpressionStatement", - "src": "30994:38:14" - } - ] - }, - "name": "store_literal_in_memory_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "30915:6:14", - "type": "" - } - ], - "src": "30817:218:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31183:204:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "31189:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31255:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31260:2:14", - "type": "", - "value": "43" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "31196:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "31196:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31189:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31357:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b", - "nodeType": "YulIdentifier", - "src": "31268:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "31268:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "31268:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "31366:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31377:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31382:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31373:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "31373:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "31366:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "31171:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "31179:3:14", - "type": "" - } - ], - "src": "31037:350:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31560:232:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "31566:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31578:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31589:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31574:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "31574:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "31566:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31609:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31620:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31605:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "31605:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "31628:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31634:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "31624:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "31624:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31598:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "31598:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "31598:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "31650:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "31784:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "31658:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "31658:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "31650:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "31540:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "31555:4:14", - "type": "" - } - ], - "src": "31389:403:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31852:32:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "31859:22:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31875:5:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "31869:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "31869:12:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "31859:6:14" - } - ] - } - ] - }, - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "31835:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "31845:6:14", - "type": "" - } - ], - "src": "31794:90:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31981:61:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31994:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "31999:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31987:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "31987:19:14" - }, - "nodeType": "YulExpressionStatement", - "src": "31987:19:14" - }, - { - "nodeType": "YulAssignment", - "src": "32011:29:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32030:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32035:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32026:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "32026:14:14" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "32011:11:14" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "31953:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "31958:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "31969:11:14", - "type": "" - } - ], - "src": "31886:156:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32134:263:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "32140:52:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "32186:5:14" - } - ], - "functionName": { - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "32154:31:14" - }, - "nodeType": "YulFunctionCall", - "src": "32154:38:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "32144:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "32197:77:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32262:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "32267:6:14" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "32204:57:14" - }, - "nodeType": "YulFunctionCall", - "src": "32204:70:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32197:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "32318:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32325:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32314:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "32314:16:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32332:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "32337:6:14" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "32279:34:14" - }, - "nodeType": "YulFunctionCall", - "src": "32279:65:14" - }, - "nodeType": "YulExpressionStatement", - "src": "32279:65:14" - }, - { - "nodeType": "YulAssignment", - "src": "32349:46:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32360:3:14" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "32387:6:14" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "32365:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "32365:29:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32356:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "32356:39:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "32349:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "32115:5:14", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "32122:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "32130:3:14", - "type": "" - } - ], - "src": "32044:353:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32599:412:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "32605:27:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32617:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32628:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32613:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "32613:19:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "32605:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "32682:6:14" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32695:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32706:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32691:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "32691:17:14" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "32638:43:14" - }, - "nodeType": "YulFunctionCall", - "src": "32638:71:14" - }, - "nodeType": "YulExpressionStatement", - "src": "32638:71:14" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "32759:6:14" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32772:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32783:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32768:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "32768:18:14" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "32715:43:14" - }, - "nodeType": "YulFunctionCall", - "src": "32715:72:14" - }, - "nodeType": "YulExpressionStatement", - "src": "32715:72:14" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "32837:6:14" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32850:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32861:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32846:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "32846:18:14" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "32793:43:14" - }, - "nodeType": "YulFunctionCall", - "src": "32793:72:14" - }, - "nodeType": "YulExpressionStatement", - "src": "32793:72:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32882:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32893:2:14", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32878:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "32878:18:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "32902:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32908:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "32898:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "32898:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "32871:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "32871:48:14" - }, - "nodeType": "YulExpressionStatement", - "src": "32871:48:14" - }, - { - "nodeType": "YulAssignment", - "src": "32924:84:14", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "32994:6:14" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "33003:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "32932:61:14" - }, - "nodeType": "YulFunctionCall", - "src": "32932:76:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "32924: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": "32547:9:14", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "32559:6:14", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "32567:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "32575:6:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "32583:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "32594:4:14", - "type": "" - } - ], - "src": "32399:612:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "33075:67:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "33081:22:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "33096:6:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "33090:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "33090:13:14" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "33081:5:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "33134:5:14" - } - ], - "functionName": { - "name": "validator_revert_t_bytes4", - "nodeType": "YulIdentifier", - "src": "33108:25:14" - }, - "nodeType": "YulFunctionCall", - "src": "33108:32:14" - }, - "nodeType": "YulExpressionStatement", - "src": "33108:32:14" - } - ] - }, - "name": "abi_decode_t_bytes4_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "33053:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "33061:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "33069:5:14", - "type": "" - } - ], - "src": "33013:129:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "33220:249:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "33262:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "33264:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "33264:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "33264:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "33237:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33246:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "33233:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "33233:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33258:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "33229:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "33229:32:14" - }, - "nodeType": "YulIf", - "src": "33226:119:14" - }, - { - "nodeType": "YulBlock", - "src": "33351:115:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "33362:15:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33376:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "33366:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "33387:73:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33432:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "33443:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33428:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "33428:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "33452:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_bytes4_fromMemory", - "nodeType": "YulIdentifier", - "src": "33397:30:14" - }, - "nodeType": "YulFunctionCall", - "src": "33397:63:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "33387:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "33190:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "33201:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "33213:6:14", - "type": "" - } - ], - "src": "33144:325:14" - } - ] - }, - "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\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 mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function store_literal_in_memory_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317(memPtr) {\n\n mstore(add(memPtr, 0), 0x7b226e616d65223a20224372656469742053797374656d20536f756c626f756e)\n\n mstore(add(memPtr, 32), \"d Token (CSSBT) #\")\n\n }\n\n function abi_encode_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 49)\n store_literal_in_memory_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317(pos)\n end := add(pos, 49)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function store_literal_in_memory_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb(memPtr) {\n\n mstore(add(memPtr, 0), 0x222c000000000000000000000000000000000000000000000000000000000000)\n\n }\n\n function abi_encode_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 2)\n store_literal_in_memory_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb(pos)\n end := add(pos, 2)\n }\n\n function store_literal_in_memory_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8(memPtr) {\n\n mstore(add(memPtr, 0), 0x22696d6167655f64617461223a20220000000000000000000000000000000000)\n\n }\n\n function abi_encode_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 15)\n store_literal_in_memory_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8(pos)\n end := add(pos, 15)\n }\n\n function store_literal_in_memory_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0(memPtr) {\n\n mstore(add(memPtr, 0), 0x2200000000000000000000000000000000000000000000000000000000000000)\n\n }\n\n function abi_encode_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0(pos)\n end := add(pos, 1)\n }\n\n function store_literal_in_memory_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff(memPtr) {\n\n mstore(add(memPtr, 0), \"}\")\n\n}\n\nfunction abi_encode_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff(pos)\n end := add(pos, 1)\n}\n\nfunction abi_encode_tuple_packed_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_t_string_memory_ptr_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_t_string_memory_ptr_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n end := pos\n}\n\nfunction store_literal_in_memory_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa(memPtr) {\n\n mstore(add(memPtr, 0), \"data:application/json;base64,\")\n\n}\n\nfunction abi_encode_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 29)\n store_literal_in_memory_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa(pos)\n end := add(pos, 29)\n}\n\nfunction abi_encode_tuple_packed_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n}\n\nfunction store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n}\n\nfunction abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n}\n\nfunction abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n}\n\nfunction abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n}\n\nfunction abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n}\n\nfunction abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n}\n\nfunction abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n}\n\nfunction abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n}\n\nfunction abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n}\n\nfunction abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n}\n\nfunction abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n}\n\nfunction abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n}\n\nfunction abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n}\n\nfunction abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2, pos)\n\n end := pos\n}\n\nfunction panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n}\n\nfunction checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n}\n\nfunction checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n}\n\nfunction checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n}\n\nfunction store_literal_in_memory_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa(memPtr) {\n\n mstore(add(memPtr, 0), \"SOULBOUND: Non-Transferable.\")\n\n}\n\nfunction abi_encode_t_stringliteral_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa(pos)\n end := add(pos, 32)\n}\n\nfunction abi_encode_tuple_t_stringliteral_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction store_literal_in_memory_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b(memPtr) {\n\n mstore(add(memPtr, 0), \"SOULBOUND: Everyone should only \")\n\n mstore(add(memPtr, 32), \"have 1 SBT.\")\n\n}\n\nfunction abi_encode_t_stringliteral_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b(pos)\n end := add(pos, 64)\n}\n\nfunction abi_encode_tuple_t_stringliteral_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b_to_t_string_memory_ptr_fromStack( tail)\n\n}\n\nfunction array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n}\n\nfunction array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n}\n\nfunction abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n}\n\nfunction 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 tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n}\n\nfunction abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n}\n\nfunction abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n}\n\n}\n", - "id": 14, - "language": "Yul", - "name": "#utility.yul" - } - ], - "sourceMap": "310:10393:13:-:0;;;432:54;;;;;;;;;;1390:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1464:5;1456;:13;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;:::i;:::-;;1390:113;;310:10393:13;;7:99:14;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;310:10393:13:-;;;;;;;", - "deployedSourceMap": "310:10393:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4974:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;492:203:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1079:706:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4388:162:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1570:300;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;2190:219::-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;492:203:13:-;538:7;557:21;:9;:19;:21::i;:::-;588:17;608:19;:9;:17;:19::i;:::-;588:39;;637:24;643:6;651:9;637:5;:24::i;:::-;679:9;672:16;;;492:203;;;:::o;1929:204:0:-;2001:7;2045:1;2028:19;;:5;:19;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;4169:153::-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;1079:706:13:-;1152:13;1177:23;1192:7;1177:14;:23::i;:::-;1211:18;1232:466;1429:25;1446:7;1429:16;:25::i;:::-;1553:20;1565:7;1553:11;:20::i;:::-;1310:343;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1232:13;:466::i;:::-;1211:487;;1772:4;1722:55;;;;;;;;:::i;:::-;;;;;;;;;;;;;1708:70;;;1079:706;;;:::o;4388:162:0:-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;829:155:9:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;13240:133:0:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;640:96:6:-;693:7;719:10;712:17;;640:96;:::o;12572:171:0:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;6702:115::-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;945:123:7:-;1050:1;1032:7;:14;;;:19;;;;;;;;;;;945:123;:::o;827:112::-;892:7;918;:14;;;911:21;;827:112;;;:::o;8925:920:0:-;9018:1;9004:16;;:2;:16;;;8996:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9076:16;9084:7;9076;:16::i;:::-;9075:17;9067:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9136:48;9165:1;9169:2;9173:7;9182:1;9136:20;:48::i;:::-;9280:16;9288:7;9280;:16::i;:::-;9279:17;9271:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9688:1;9671:9;:13;9681:2;9671:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;9729:2;9710:7;:16;9718:7;9710:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9772:7;9768:2;9747:33;;9764:1;9747:33;;;;;;;;;;;;9791:47;9819:1;9823:2;9827:7;9836:1;9791:19;:47::i;:::-;8925:920;;:::o;12879:277::-;12999:8;12990:17;;:5;:17;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;447:696:8:-;503:13;552:14;589:1;569:17;580:5;569:10;:17::i;:::-;:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:41;;659:11;785:6;781:2;777:15;769:6;765:28;758:35;;820:280;827:4;820:280;;;851:5;;;;;;;;990:8;985:2;978:5;974:14;969:30;964:3;956:44;1044:2;1035:11;;;;;;:::i;:::-;;;;;1077:1;1068:5;:10;820:280;1064:21;820:280;1120:6;1113:13;;;;;447:696;;;:::o;1791:8909:13:-;1844:13;1868:21;1892;1909:3;1892:16;:21::i;:::-;1868:45;;1923:15;:2384;;;;;;;;;;;;;;;;;;;4317:15;:6320;;;;;;;;;;;;;;;;;;;10678:1;10681:7;10690:1;10661:31;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10647:46;;;;;1791:8909;;;:::o;505:3026:5:-;563:13;810:1;795:4;:11;:16;791:31;;813:9;;;;;;;;;;;;;;;;791:31;872:19;894:6;;;;;;;;;;;;;;;;;872:28;;1303:20;1362:1;1357;1343:4;:11;:15;;;;:::i;:::-;1342:21;;;;:::i;:::-;1337:1;:27;;;;:::i;:::-;1326:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1303:62;;1540:1;1533:5;1529:13;1641:2;1633:6;1629:15;1748:4;1799;1793:11;1787:4;1783:22;1711:1403;1832:6;1823:7;1820:19;1711:1403;;;1934:1;1925:7;1921:15;1910:26;;1972:7;1966:14;2615:4;2607:5;2603:2;2599:14;2595:25;2585:8;2581:40;2575:47;2564:9;2556:67;2668:1;2657:9;2653:17;2640:30;;2758:4;2750:5;2746:2;2742:14;2738:25;2728:8;2724:40;2718:47;2707:9;2699:67;2811:1;2800:9;2796:17;2783:30;;2900:4;2892:5;2889:1;2885:13;2881:24;2871:8;2867:39;2861:46;2850:9;2842:66;2953:1;2942:9;2938:17;2925:30;;3034:4;3027:5;3023:16;3013:8;3009:31;3003:38;2992:9;2984:58;3087:1;3076:9;3072:17;3059:30;;1857:1257;1711:1403;;;1715:104;;3272:1;3265:4;3259:11;3255:19;3292:1;3287:120;;;;3425:1;3420:71;;;;3248:243;;3287:120;3339:4;3335:1;3324:9;3320:17;3312:32;3388:4;3384:1;3373:9;3369:17;3361:32;3287:120;;3420:71;3472:4;3468:1;3457:9;3453:17;3445:32;3248:243;;1428:2073;;3518:6;3511:13;;;;505:3026;;;;:::o;7120:126:0:-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;701:372:13:-;858:1;842:18;;:4;:18;;;:38;;;;878:1;864:16;;:2;:16;;;842:38;834:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;946:1;931:13;941:2;931:9;:13::i;:::-;:16;923:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;1005:61;1032:4;1038:2;1042:12;1056:9;1005:26;:61::i;:::-;701:372;;;;:::o;16294:115:0:-;;;;;:::o;13925:831::-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;10139:916:11:-;10192:7;10211:14;10228:1;10211:18;;10276:8;10267:5;:17;10263:103;;10313:8;10304:17;;;;;;:::i;:::-;;;;;10349:2;10339:12;;;;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;;;;:::i;:::-;;;;;10465:2;10455:12;;;;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;;;;:::i;:::-;;;;;10581:2;10571:12;;;;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;;;;:::i;:::-;;;;;10695:1;10685:11;;;;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;;;;:::i;:::-;;;;;10808:1;10798:11;;;;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;;;;:::i;:::-;;;;;10921:1;10911:11;;;;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;;;;10950:66;11042:6;11035:13;;;10139:916;;;:::o;15472:116:0:-;;;;;:::o;1412:320:4:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;7:75:14:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:246::-;1879:1;1889:113;1903:6;1900:1;1897:13;1889:113;;;1988:1;1983:3;1979:11;1973:18;1969:1;1964:3;1960:11;1953:39;1925:2;1922:1;1918:10;1913:15;;1889:113;;;2036:1;2027:6;2022:3;2018:16;2011:27;1860:184;1798:246;;;:::o;2050:102::-;2091:6;2142:2;2138:7;2133:2;2126:5;2122:14;2118:28;2108:38;;2050:102;;;:::o;2158:377::-;2246:3;2274:39;2307:5;2274:39;:::i;:::-;2329:71;2393:6;2388:3;2329:71;:::i;:::-;2322:78;;2409:65;2467:6;2462:3;2455:4;2448:5;2444:16;2409:65;:::i;:::-;2499:29;2521:6;2499:29;:::i;:::-;2494:3;2490:39;2483:46;;2250:285;2158:377;;;;:::o;2541:313::-;2654:4;2692:2;2681:9;2677:18;2669:26;;2741:9;2735:4;2731:20;2727:1;2716:9;2712:17;2705:47;2769:78;2842:4;2833:6;2769:78;:::i;:::-;2761:86;;2541:313;;;;:::o;2860:77::-;2897:7;2926:5;2915:16;;2860:77;;;:::o;2943:122::-;3016:24;3034:5;3016:24;:::i;:::-;3009:5;3006:35;2996:63;;3055:1;3052;3045:12;2996:63;2943:122;:::o;3071:139::-;3117:5;3155:6;3142:20;3133:29;;3171:33;3198:5;3171:33;:::i;:::-;3071:139;;;;:::o;3216:329::-;3275:6;3324:2;3312:9;3303:7;3299:23;3295:32;3292:119;;;3330:79;;:::i;:::-;3292:119;3450:1;3475:53;3520:7;3511:6;3500:9;3496:22;3475:53;:::i;:::-;3465:63;;3421:117;3216:329;;;;:::o;3551:126::-;3588:7;3628:42;3621:5;3617:54;3606:65;;3551:126;;;:::o;3683:96::-;3720:7;3749:24;3767:5;3749:24;:::i;:::-;3738:35;;3683:96;;;:::o;3785:118::-;3872:24;3890:5;3872:24;:::i;:::-;3867:3;3860:37;3785:118;;:::o;3909:222::-;4002:4;4040:2;4029:9;4025:18;4017:26;;4053:71;4121:1;4110:9;4106:17;4097:6;4053:71;:::i;:::-;3909:222;;;;:::o;4137:122::-;4210:24;4228:5;4210:24;:::i;:::-;4203:5;4200:35;4190:63;;4249:1;4246;4239:12;4190:63;4137:122;:::o;4265:139::-;4311:5;4349:6;4336:20;4327:29;;4365:33;4392:5;4365:33;:::i;:::-;4265:139;;;;:::o;4410:474::-;4478:6;4486;4535:2;4523:9;4514:7;4510:23;4506:32;4503:119;;;4541:79;;:::i;:::-;4503:119;4661:1;4686:53;4731:7;4722:6;4711:9;4707:22;4686:53;:::i;:::-;4676:63;;4632:117;4788:2;4814:53;4859:7;4850:6;4839:9;4835:22;4814:53;:::i;:::-;4804:63;;4759:118;4410:474;;;;;:::o;4890:619::-;4967:6;4975;4983;5032:2;5020:9;5011:7;5007:23;5003:32;5000:119;;;5038:79;;:::i;:::-;5000:119;5158:1;5183:53;5228:7;5219:6;5208:9;5204:22;5183:53;:::i;:::-;5173:63;;5129:117;5285:2;5311:53;5356:7;5347:6;5336:9;5332:22;5311:53;:::i;:::-;5301:63;;5256:118;5413:2;5439:53;5484:7;5475:6;5464:9;5460:22;5439:53;:::i;:::-;5429:63;;5384:118;4890:619;;;;;:::o;5515:329::-;5574:6;5623:2;5611:9;5602:7;5598:23;5594:32;5591:119;;;5629:79;;:::i;:::-;5591:119;5749:1;5774:53;5819:7;5810:6;5799:9;5795:22;5774:53;:::i;:::-;5764:63;;5720:117;5515:329;;;;:::o;5850:118::-;5937:24;5955:5;5937:24;:::i;:::-;5932:3;5925:37;5850:118;;:::o;5974:222::-;6067:4;6105:2;6094:9;6090:18;6082:26;;6118:71;6186:1;6175:9;6171:17;6162:6;6118:71;:::i;:::-;5974:222;;;;:::o;6202:116::-;6272:21;6287:5;6272:21;:::i;:::-;6265:5;6262:32;6252:60;;6308:1;6305;6298:12;6252:60;6202:116;:::o;6324:133::-;6367:5;6405:6;6392:20;6383:29;;6421:30;6445:5;6421:30;:::i;:::-;6324:133;;;;:::o;6463:468::-;6528:6;6536;6585:2;6573:9;6564:7;6560:23;6556:32;6553:119;;;6591:79;;:::i;:::-;6553:119;6711:1;6736:53;6781:7;6772:6;6761:9;6757:22;6736:53;:::i;:::-;6726:63;;6682:117;6838:2;6864:50;6906:7;6897:6;6886:9;6882:22;6864:50;:::i;:::-;6854:60;;6809:115;6463:468;;;;;:::o;6937:117::-;7046:1;7043;7036:12;7060:117;7169:1;7166;7159:12;7183:180;7231:77;7228:1;7221:88;7328:4;7325:1;7318:15;7352:4;7349:1;7342:15;7369:281;7452:27;7474:4;7452:27;:::i;:::-;7444:6;7440:40;7582:6;7570:10;7567:22;7546:18;7534:10;7531:34;7528:62;7525:88;;;7593:18;;:::i;:::-;7525:88;7633:10;7629:2;7622:22;7412:238;7369:281;;:::o;7656:129::-;7690:6;7717:20;;:::i;:::-;7707:30;;7746:33;7774:4;7766:6;7746:33;:::i;:::-;7656:129;;;:::o;7791:307::-;7852:4;7942:18;7934:6;7931:30;7928:56;;;7964:18;;:::i;:::-;7928:56;8002:29;8024:6;8002:29;:::i;:::-;7994:37;;8086:4;8080;8076:15;8068:23;;7791:307;;;:::o;8104:146::-;8201:6;8196:3;8191;8178:30;8242:1;8233:6;8228:3;8224:16;8217:27;8104:146;;;:::o;8256:423::-;8333:5;8358:65;8374:48;8415:6;8374:48;:::i;:::-;8358:65;:::i;:::-;8349:74;;8446:6;8439:5;8432:21;8484:4;8477:5;8473:16;8522:3;8513:6;8508:3;8504:16;8501:25;8498:112;;;8529:79;;:::i;:::-;8498:112;8619:54;8666:6;8661:3;8656;8619:54;:::i;:::-;8339:340;8256:423;;;;;:::o;8698:338::-;8753:5;8802:3;8795:4;8787:6;8783:17;8779:27;8769:122;;8810:79;;:::i;:::-;8769:122;8927:6;8914:20;8952:78;9026:3;9018:6;9011:4;9003:6;8999:17;8952:78;:::i;:::-;8943:87;;8759:277;8698:338;;;;:::o;9042:943::-;9137:6;9145;9153;9161;9210:3;9198:9;9189:7;9185:23;9181:33;9178:120;;;9217:79;;:::i;:::-;9178:120;9337:1;9362:53;9407:7;9398:6;9387:9;9383:22;9362:53;:::i;:::-;9352:63;;9308:117;9464:2;9490:53;9535:7;9526:6;9515:9;9511:22;9490:53;:::i;:::-;9480:63;;9435:118;9592:2;9618:53;9663:7;9654:6;9643:9;9639:22;9618:53;:::i;:::-;9608:63;;9563:118;9748:2;9737:9;9733:18;9720:32;9779:18;9771:6;9768:30;9765:117;;;9801:79;;:::i;:::-;9765:117;9906:62;9960:7;9951:6;9940:9;9936:22;9906:62;:::i;:::-;9896:72;;9691:287;9042:943;;;;;;;:::o;9991:474::-;10059:6;10067;10116:2;10104:9;10095:7;10091:23;10087:32;10084:119;;;10122:79;;:::i;:::-;10084:119;10242:1;10267:53;10312:7;10303:6;10292:9;10288:22;10267:53;:::i;:::-;10257:63;;10213:117;10369:2;10395:53;10440:7;10431:6;10420:9;10416:22;10395:53;:::i;:::-;10385:63;;10340:118;9991:474;;;;;:::o;10471:180::-;10519:77;10516:1;10509:88;10616:4;10613:1;10606:15;10640:4;10637:1;10630:15;10657:320;10701:6;10738:1;10732:4;10728:12;10718:22;;10785:1;10779:4;10775:12;10806:18;10796:81;;10862:4;10854:6;10850:17;10840:27;;10796:81;10924:2;10916:6;10913:14;10893:18;10890:38;10887:84;;10943:18;;:::i;:::-;10887:84;10708:269;10657:320;;;:::o;10983:220::-;11123:34;11119:1;11111:6;11107:14;11100:58;11192:3;11187:2;11179:6;11175:15;11168:28;10983:220;:::o;11209:366::-;11351:3;11372:67;11436:2;11431:3;11372:67;:::i;:::-;11365:74;;11448:93;11537:3;11448:93;:::i;:::-;11566:2;11561:3;11557:12;11550:19;;11209:366;;;:::o;11581:419::-;11747:4;11785:2;11774:9;11770:18;11762:26;;11834:9;11828:4;11824:20;11820:1;11809:9;11805:17;11798:47;11862:131;11988:4;11862:131;:::i;:::-;11854:139;;11581:419;;;:::o;12006:248::-;12146:34;12142:1;12134:6;12130:14;12123:58;12215:31;12210:2;12202:6;12198:15;12191:56;12006:248;:::o;12260:366::-;12402:3;12423:67;12487:2;12482:3;12423:67;:::i;:::-;12416:74;;12499:93;12588:3;12499:93;:::i;:::-;12617:2;12612:3;12608:12;12601:19;;12260:366;;;:::o;12632:419::-;12798:4;12836:2;12825:9;12821:18;12813:26;;12885:9;12879:4;12875:20;12871:1;12860:9;12856:17;12849:47;12913:131;13039:4;12913:131;:::i;:::-;12905:139;;12632:419;;;:::o;13057:232::-;13197:34;13193:1;13185:6;13181:14;13174:58;13266:15;13261:2;13253:6;13249:15;13242:40;13057:232;:::o;13295:366::-;13437:3;13458:67;13522:2;13517:3;13458:67;:::i;:::-;13451:74;;13534:93;13623:3;13534:93;:::i;:::-;13652:2;13647:3;13643:12;13636:19;;13295:366;;;:::o;13667:419::-;13833:4;13871:2;13860:9;13856:18;13848:26;;13920:9;13914:4;13910:20;13906:1;13895:9;13891:17;13884:47;13948:131;14074:4;13948:131;:::i;:::-;13940:139;;13667:419;;;:::o;14092:174::-;14232:26;14228:1;14220:6;14216:14;14209:50;14092:174;:::o;14272:366::-;14414:3;14435:67;14499:2;14494:3;14435:67;:::i;:::-;14428:74;;14511:93;14600:3;14511:93;:::i;:::-;14629:2;14624:3;14620:12;14613:19;;14272:366;;;:::o;14644:419::-;14810:4;14848:2;14837:9;14833:18;14825:26;;14897:9;14891:4;14887:20;14883:1;14872:9;14868:17;14861:47;14925:131;15051:4;14925:131;:::i;:::-;14917:139;;14644:419;;;:::o;15069:228::-;15209:34;15205:1;15197:6;15193:14;15186:58;15278:11;15273:2;15265:6;15261:15;15254:36;15069:228;:::o;15303:366::-;15445:3;15466:67;15530:2;15525:3;15466:67;:::i;:::-;15459:74;;15542:93;15631:3;15542:93;:::i;:::-;15660:2;15655:3;15651:12;15644:19;;15303:366;;;:::o;15675:419::-;15841:4;15879:2;15868:9;15864:18;15856:26;;15928:9;15922:4;15918:20;15914:1;15903:9;15899:17;15892:47;15956:131;16082:4;15956:131;:::i;:::-;15948:139;;15675:419;;;:::o;16100:148::-;16202:11;16239:3;16224:18;;16100:148;;;;:::o;16254:268::-;16394:66;16390:1;16382:6;16378:14;16371:90;16495:19;16490:2;16482:6;16478:15;16471:44;16254:268;:::o;16528:402::-;16688:3;16709:85;16791:2;16786:3;16709:85;:::i;:::-;16702:92;;16803:93;16892:3;16803:93;:::i;:::-;16921:2;16916:3;16912:12;16905:19;;16528:402;;;:::o;16936:390::-;17042:3;17070:39;17103:5;17070:39;:::i;:::-;17125:89;17207:6;17202:3;17125:89;:::i;:::-;17118:96;;17223:65;17281:6;17276:3;17269:4;17262:5;17258:16;17223:65;:::i;:::-;17313:6;17308:3;17304:16;17297:23;;17046:280;16936:390;;;;:::o;17332:214::-;17472:66;17468:1;17460:6;17456:14;17449:90;17332:214;:::o;17552:400::-;17712:3;17733:84;17815:1;17810:3;17733:84;:::i;:::-;17726:91;;17826:93;17915:3;17826:93;:::i;:::-;17944:1;17939:3;17935:11;17928:18;;17552:400;;;:::o;17958:214::-;18098:66;18094:1;18086:6;18082:14;18075:90;17958:214;:::o;18178:402::-;18338:3;18359:85;18441:2;18436:3;18359:85;:::i;:::-;18352:92;;18453:93;18542:3;18453:93;:::i;:::-;18571:2;18566:3;18562:12;18555:19;;18178:402;;;:::o;18586:214::-;18726:66;18722:1;18714:6;18710:14;18703:90;18586:214;:::o;18806:400::-;18966:3;18987:84;19069:1;19064:3;18987:84;:::i;:::-;18980:91;;19080:93;19169:3;19080:93;:::i;:::-;19198:1;19193:3;19189:11;19182:18;;18806:400;;;:::o;19212:143::-;19348:3;19344:1;19336:6;19332:14;19325:27;19212:143;:::o;19357:384::-;19517:3;19534:84;19616:1;19611:3;19534:84;:::i;:::-;19527:91;;19623:93;19712:3;19623:93;:::i;:::-;19737:1;19732:3;19728:11;19721:18;;19357:384;;;:::o;19743:1729::-;20428:3;20446:148;20590:3;20446:148;:::i;:::-;20439:155;;20607:95;20698:3;20689:6;20607:95;:::i;:::-;20600:102;;20715:148;20859:3;20715:148;:::i;:::-;20708:155;;20876:148;21020:3;20876:148;:::i;:::-;20869:155;;21037:95;21128:3;21119:6;21037:95;:::i;:::-;21030:102;;21145:148;21289:3;21145:148;:::i;:::-;21138:155;;21306:148;21450:3;21306:148;:::i;:::-;21299:155;;21467:3;21460:10;;19743:1729;;;;;:::o;21474:171::-;21610:31;21606:1;21598:6;21594:14;21587:55;21474:171;:::o;21647:386::-;21807:3;21824:85;21906:2;21901:3;21824:85;:::i;:::-;21817:92;;21914:93;22003:3;21914:93;:::i;:::-;22028:2;22023:3;22019:12;22012:19;;21647:386;;;:::o;22035:525::-;22268:3;22286:148;22430:3;22286:148;:::i;:::-;22279:155;;22447:95;22538:3;22529:6;22447:95;:::i;:::-;22440:102;;22555:3;22548:10;;22035:525;;;;:::o;22562:212::-;22698:34;22694:1;22686:6;22682:14;22675:58;22763:7;22758:2;22750:6;22746:15;22739:32;22562:212;:::o;22776:350::-;22918:3;22935:67;22999:2;22994:3;22935:67;:::i;:::-;22928:74;;23007:93;23096:3;23007:93;:::i;:::-;23121:2;23116:3;23112:12;23105:19;;22776:350;;;:::o;23128:403::-;23294:4;23328:2;23317:9;23313:18;23305:26;;23373:9;23367:4;23363:20;23359:1;23348:9;23344:17;23337:47;23397:131;23523:4;23397:131;:::i;:::-;23389:139;;23128:403;;;:::o;23533:211::-;23669:34;23665:1;23657:6;23653:14;23646:58;23734:6;23729:2;23721:6;23717:15;23710:31;23533:211;:::o;23746:350::-;23888:3;23905:67;23969:2;23964:3;23905:67;:::i;:::-;23898:74;;23977:93;24066:3;23977:93;:::i;:::-;24091:2;24086:3;24082:12;24075:19;;23746:350;;;:::o;24098:403::-;24264:4;24298:2;24287:9;24283:18;24275:26;;24343:9;24337:4;24333:20;24329:1;24318:9;24314:17;24307:47;24367:131;24493:4;24367:131;:::i;:::-;24359:139;;24098:403;;;:::o;24503:174::-;24639:34;24635:1;24627:6;24623:14;24616:58;24503:174;:::o;24679:350::-;24821:3;24838:67;24902:2;24897:3;24838:67;:::i;:::-;24831:74;;24910:93;24999:3;24910:93;:::i;:::-;25024:2;25019:3;25015:12;25008:19;;24679:350;;;:::o;25031:403::-;25197:4;25231:2;25220:9;25216:18;25208:26;;25276:9;25270:4;25266:20;25262:1;25251:9;25247:17;25240:47;25300:131;25426:4;25300:131;:::i;:::-;25292:139;;25031:403;;;:::o;25436:170::-;25572:30;25568:1;25560:6;25556:14;25549:54;25436:170;:::o;25608:350::-;25750:3;25767:67;25831:2;25826:3;25767:67;:::i;:::-;25760:74;;25839:93;25928:3;25839:93;:::i;:::-;25953:2;25948:3;25944:12;25937:19;;25608:350;;;:::o;25960:403::-;26126:4;26160:2;26149:9;26145:18;26137:26;;26205:9;26199:4;26195:20;26191:1;26180:9;26176:17;26169:47;26229:131;26355:4;26229:131;:::i;:::-;26221:139;;25960:403;;;:::o;26365:167::-;26501:27;26497:1;26489:6;26485:14;26478:51;26365:167;:::o;26534:350::-;26676:3;26693:67;26757:2;26752:3;26693:67;:::i;:::-;26686:74;;26765:93;26854:3;26765:93;:::i;:::-;26879:2;26874:3;26870:12;26863:19;;26534:350;;;:::o;26886:403::-;27052:4;27086:2;27075:9;27071:18;27063:26;;27131:9;27125:4;27121:20;27117:1;27106:9;27102:17;27095:47;27155:131;27281:4;27155:131;:::i;:::-;27147:139;;26886:403;;;:::o;27291:225::-;27427:34;27423:1;27415:6;27411:14;27404:58;27492:20;27487:2;27479:6;27475:15;27468:45;27291:225;:::o;27518:350::-;27660:3;27677:67;27741:2;27736:3;27677:67;:::i;:::-;27670:74;;27749:93;27838:3;27749:93;:::i;:::-;27863:2;27858:3;27854:12;27847:19;;27518:350;;;:::o;27870:403::-;28036:4;28070:2;28059:9;28055:18;28047:26;;28115:9;28109:4;28105:20;28101:1;28090:9;28086:17;28079:47;28139:131;28265:4;28139:131;:::i;:::-;28131:139;;27870:403;;;:::o;28275:164::-;28319:77;28316:1;28309:88;28412:4;28409:1;28402:15;28432:4;28429:1;28422:15;28441:575;28669:3;28687:95;28778:3;28769:6;28687:95;:::i;:::-;28680:102;;28795:95;28886:3;28877:6;28795:95;:::i;:::-;28788:102;;28903:95;28994:3;28985:6;28903:95;:::i;:::-;28896:102;;29011:3;29004:10;;28441:575;;;;;;:::o;29018:164::-;29062:77;29059:1;29052:88;29155:4;29152:1;29145:15;29175:4;29172:1;29165:15;29184:171;29224:3;29239:20;29257:1;29239:20;:::i;:::-;29234:25;;29269:20;29287:1;29269:20;:::i;:::-;29264:25;;29308:1;29305;29301:9;29294:16;;29325:3;29322:1;29319:10;29316:36;;;29332:18;;:::i;:::-;29316:36;29184:171;;;;:::o;29357:165::-;29397:1;29410:20;29428:1;29410:20;:::i;:::-;29405:25;;29440:20;29458:1;29440:20;:::i;:::-;29435:25;;29475:1;29465:35;;29480:18;;:::i;:::-;29465:35;29518:1;29515;29511:9;29506:14;;29357:165;;;;:::o;29524:362::-;29564:7;29583:20;29601:1;29583:20;:::i;:::-;29578:25;;29613:20;29631:1;29613:20;:::i;:::-;29608:25;;29664:1;29661;29657:9;29682:30;29700:11;29682:30;:::i;:::-;29671:41;;29841:1;29832:7;29828:15;29825:1;29822:22;29806:1;29799:9;29783:71;29764:119;;29863:18;;:::i;:::-;29764:119;29572:314;29524:362;;;;:::o;29888:170::-;30024:30;30020:1;30012:6;30008:14;30001:54;29888:170;:::o;30060:350::-;30202:3;30219:67;30283:2;30278:3;30219:67;:::i;:::-;30212:74;;30291:93;30380:3;30291:93;:::i;:::-;30405:2;30400:3;30396:12;30389:19;;30060:350;;;:::o;30412:403::-;30578:4;30612:2;30601:9;30597:18;30589:26;;30657:9;30651:4;30647:20;30643:1;30632:9;30628:17;30621:47;30681:131;30807:4;30681:131;:::i;:::-;30673:139;;30412:403;;;:::o;30817:218::-;30953:34;30949:1;30941:6;30937:14;30930:58;31018:13;31013:2;31005:6;31001:15;30994:38;30817:218;:::o;31037:350::-;31179:3;31196:67;31260:2;31255:3;31196:67;:::i;:::-;31189:74;;31268:93;31357:3;31268:93;:::i;:::-;31382:2;31377:3;31373:12;31366:19;;31037:350;;;:::o;31389:403::-;31555:4;31589:2;31578:9;31574:18;31566:26;;31634:9;31628:4;31624:20;31620:1;31609:9;31605:17;31598:47;31658:131;31784:4;31658:131;:::i;:::-;31650:139;;31389:403;;;:::o;31794:90::-;31845:6;31875:5;31869:12;31859:22;;31794:90;;;:::o;31886:156::-;31969:11;31999:6;31994:3;31987:19;32035:4;32030:3;32026:14;32011:29;;31886:156;;;;:::o;32044:353::-;32130:3;32154:38;32186:5;32154:38;:::i;:::-;32204:70;32267:6;32262:3;32204:70;:::i;:::-;32197:77;;32279:65;32337:6;32332:3;32325:4;32318:5;32314:16;32279:65;:::i;:::-;32365:29;32387:6;32365:29;:::i;:::-;32360:3;32356:39;32349:46;;32134:263;32044:353;;;;:::o;32399:612::-;32594:4;32628:3;32617:9;32613:19;32605:27;;32638:71;32706:1;32695:9;32691:17;32682:6;32638:71;:::i;:::-;32715:72;32783:2;32772:9;32768:18;32759:6;32715:72;:::i;:::-;32793;32861:2;32850:9;32846:18;32837:6;32793:72;:::i;:::-;32908:9;32902:4;32898:20;32893:2;32882:9;32878:18;32871:48;32932:76;33003:4;32994:6;32932:76;:::i;:::-;32924:84;;32399:612;;;;;;;:::o;33013:129::-;33069:5;33096:6;33090:13;33081:22;;33108:32;33134:5;33108:32;:::i;:::-;33013:129;;;;:::o;33144:325::-;33213:6;33258:2;33246:9;33237:7;33233:23;33229:32;33226:119;;;33264:79;;:::i;:::-;33226:119;33376:1;33397:63;33452:7;33443:6;33432:9;33428:22;33397:63;:::i;:::-;33387:73;;33351:115;33144:325;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/utils/Counters.sol\";\nimport \"@openzeppelin/contracts/utils/Base64.sol\";\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\n// import \"./OnChainSVG.sol\";\n\ncontract SoulboundToken is ERC721 {\n using Counters for Counters.Counter;\n Counters.Counter private _tokenIds;\n\n constructor() ERC721(\"Credit System SBT\", \"CS_SBT\") {}\n\n function mint(address player) public returns (uint256) {\n _tokenIds.increment();\n uint256 newItemId = _tokenIds.current();\n _mint(player, newItemId);\n\n return newItemId;\n }\n\n function _beforeTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual override {\n require(from == address(0) || to == address(0), \"SOULBOUND: Non-Transferable.\");\n require(balanceOf(to)==0, \"SOULBOUND: Everyone should only have 1 SBT.\");\n super._beforeTokenTransfer(from, to, firstTokenId, batchSize);\n }\n\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n _requireMinted(tokenId);\n\n string memory json = Base64.encode(\n bytes(\n string(\n abi.encodePacked(\n '{\"name\": \"Credit System Soulbound Token (CSSBT) #',\n Strings.toString(tokenId),\n '\",',\n '\"image_data\": \"',\n getSvgImage(tokenId),\n '\"',\n \"}\"\n )\n ) \n )\n );\n return string(abi.encodePacked(\"data:application/json;base64,\", json));\n }\n\n function getSvgImage(uint uid) private pure returns (string memory){\n string memory uid_str = Strings.toString(uid);\n string memory a = \"Credit System Soulbound Token (CSSBT)#\";\n string memory b = \"\";\n return string(abi.encodePacked(a, uid_str, b));\n }\n\n}", - "sourcePath": "/home/snsd0805/code/1112_blockchain/Final/contracts/SoulboundToken.sol", - "ast": { - "absolutePath": "project:/contracts/SoulboundToken.sol", - "exportedSymbols": { - "Address": [ - 1417 - ], - "Base64": [ - 1464 - ], - "Context": [ - 1486 - ], - "Counters": [ - 1560 - ], - "ERC165": [ - 1813 - ], - "ERC721": [ - 926 - ], - "IERC165": [ - 1825 - ], - "IERC721": [ - 1042 - ], - "IERC721Metadata": [ - 1087 - ], - "IERC721Receiver": [ - 1060 - ], - "Math": [ - 2691 - ], - "SignedMath": [ - 2796 - ], - "SoulboundToken": [ - 2976 - ], - "Strings": [ - 1789 - ] - }, - "id": 2977, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2798, - "literals": [ - "solidity", - ">=", - "0.4", - ".22", - "<", - "0.9", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "32:32:13" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 2799, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2977, - "sourceUnit": 927, - "src": "65:57:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", - "file": "@openzeppelin/contracts/utils/Counters.sol", - "id": 2800, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2977, - "sourceUnit": 1561, - "src": "123:52:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Base64.sol", - "file": "@openzeppelin/contracts/utils/Base64.sol", - "id": 2801, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2977, - "sourceUnit": 1465, - "src": "176:50:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "@openzeppelin/contracts/utils/Strings.sol", - "id": 2802, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2977, - "sourceUnit": 1790, - "src": "227:51:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2803, - "name": "ERC721", - "nameLocations": [ - "337:6:13" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 926, - "src": "337:6:13" - }, - "id": 2804, - "nodeType": "InheritanceSpecifier", - "src": "337:6:13" - } - ], - "canonicalName": "SoulboundToken", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 2976, - "linearizedBaseContracts": [ - 2976, - 926, - 1087, - 1042, - 1813, - 1825, - 1486 - ], - "name": "SoulboundToken", - "nameLocation": "319:14:13", - "nodeType": "ContractDefinition", - "nodes": [ - { - "global": false, - "id": 2808, - "libraryName": { - "id": 2805, - "name": "Counters", - "nameLocations": [ - "356:8:13" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1560, - "src": "356:8:13" - }, - "nodeType": "UsingForDirective", - "src": "350:36:13", - "typeName": { - "id": 2807, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2806, - "name": "Counters.Counter", - "nameLocations": [ - "369:8:13", - "378:7:13" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1492, - "src": "369:16:13" - }, - "referencedDeclaration": 1492, - "src": "369:16:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - { - "constant": false, - "id": 2811, - "mutability": "mutable", - "name": "_tokenIds", - "nameLocation": "416:9:13", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "391:34:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 2810, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2809, - "name": "Counters.Counter", - "nameLocations": [ - "391:8:13", - "400:7:13" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1492, - "src": "391:16:13" - }, - "referencedDeclaration": 1492, - "src": "391:16:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 2818, - "nodeType": "Block", - "src": "484:2:13", - "statements": [] - }, - "id": 2819, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "4372656469742053797374656d20534254", - "id": 2814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "453:19:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5f50d5ebcdb02239932fe78d6eb756b3a7a7b1df29755284499996042263064", - "typeString": "literal_string \"Credit System SBT\"" - }, - "value": "Credit System SBT" - }, - { - "hexValue": "43535f534254", - "id": 2815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "474:8:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0d77b616c7b9ec581428d262a361e7f2b7f5c4d38e5b874cb317b74cc89a4294", - "typeString": "literal_string \"CS_SBT\"" - }, - "value": "CS_SBT" - } - ], - "id": 2816, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 2813, - "name": "ERC721", - "nameLocations": [ - "446:6:13" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 926, - "src": "446:6:13" - }, - "nodeType": "ModifierInvocation", - "src": "446:37:13" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2812, - "nodeType": "ParameterList", - "parameters": [], - "src": "443:2:13" - }, - "returnParameters": { - "id": 2817, - "nodeType": "ParameterList", - "parameters": [], - "src": "484:0:13" - }, - "scope": 2976, - "src": "432:54:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2844, - "nodeType": "Block", - "src": "547:148:13", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2826, - "name": "_tokenIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2811, - "src": "557:9:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 2828, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "567:9:13", - "memberName": "increment", - "nodeType": "MemberAccess", - "referencedDeclaration": 1518, - "src": "557:19:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1492_storage_ptr_$returns$__$attached_to$_t_struct$_Counter_$1492_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 2829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "557:21:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2830, - "nodeType": "ExpressionStatement", - "src": "557:21:13" - }, - { - "assignments": [ - 2832 - ], - "declarations": [ - { - "constant": false, - "id": 2832, - "mutability": "mutable", - "name": "newItemId", - "nameLocation": "596:9:13", - "nodeType": "VariableDeclaration", - "scope": 2844, - "src": "588:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "588:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2836, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2833, - "name": "_tokenIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2811, - "src": "608:9:13", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$1492_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 2834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "618:7:13", - "memberName": "current", - "nodeType": "MemberAccess", - "referencedDeclaration": 1504, - "src": "608:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1492_storage_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Counter_$1492_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" - } - }, - "id": 2835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "608:19:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "588:39:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2838, - "name": "player", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2821, - "src": "643:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2839, - "name": "newItemId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2832, - "src": "651:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2837, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "637:5:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "637:24:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2841, - "nodeType": "ExpressionStatement", - "src": "637:24:13" - }, - { - "expression": { - "id": 2842, - "name": "newItemId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2832, - "src": "679:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2825, - "id": 2843, - "nodeType": "Return", - "src": "672:16:13" - } - ] - }, - "functionSelector": "6a627842", - "id": 2845, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nameLocation": "501:4:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2821, - "mutability": "mutable", - "name": "player", - "nameLocation": "514:6:13", - "nodeType": "VariableDeclaration", - "scope": 2845, - "src": "506:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "506:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "505:16:13" - }, - "returnParameters": { - "id": 2825, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2824, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2845, - "src": "538:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2823, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "538:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "537:9:13" - }, - "scope": 2976, - "src": "492:203:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 897 - ], - "body": { - "id": 2892, - "nodeType": "Block", - "src": "824:249:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2858, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2847, - "src": "842:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2861, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:1:13", - "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": 2860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "850:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2859, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "850:7:13", - "typeDescriptions": {} - } - }, - "id": 2862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "850:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "842:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2864, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2849, - "src": "864:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "878:1:13", - "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": 2866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "870:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "870:7:13", - "typeDescriptions": {} - } - }, - "id": 2868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "870:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "864:16:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "842:38:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "534f554c424f554e443a204e6f6e2d5472616e7366657261626c652e", - "id": 2871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "882:30:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa", - "typeString": "literal_string \"SOULBOUND: Non-Transferable.\"" - }, - "value": "SOULBOUND: Non-Transferable." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_891ac5ad6a7de0ea1b7252ceceef6e231b46e733ad0efda59c820aca4509d2fa", - "typeString": "literal_string \"SOULBOUND: Non-Transferable.\"" - } - ], - "id": 2857, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "834:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "834:79:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2873, - "nodeType": "ExpressionStatement", - "src": "834:79:13" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2876, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2849, - "src": "941:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2875, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "931:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 2877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "931:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2878, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "946:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "931:16:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "534f554c424f554e443a2045766572796f6e652073686f756c64206f6e6c7920686176652031205342542e", - "id": 2880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "949:45:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b", - "typeString": "literal_string \"SOULBOUND: Everyone should only have 1 SBT.\"" - }, - "value": "SOULBOUND: Everyone should only have 1 SBT." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_456385bd6a1ce1de794d03111ec331b306278dead8f2857a8e5bf080b9c7b33b", - "typeString": "literal_string \"SOULBOUND: Everyone should only have 1 SBT.\"" - } - ], - "id": 2874, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "923:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "923:72:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2882, - "nodeType": "ExpressionStatement", - "src": "923:72:13" - }, - { - "expression": { - "arguments": [ - { - "id": 2886, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2847, - "src": "1032:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2887, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2849, - "src": "1038:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2888, - "name": "firstTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2851, - "src": "1042:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2889, - "name": "batchSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2853, - "src": "1056:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2883, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1005:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_SoulboundToken_$2976_$", - "typeString": "type(contract super SoulboundToken)" - } - }, - "id": 2885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1011:20:13", - "memberName": "_beforeTokenTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 897, - "src": "1005:26:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 2890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1005:61:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2891, - "nodeType": "ExpressionStatement", - "src": "1005:61:13" - } - ] - }, - "id": 2893, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "710:20:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2855, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "815:8:13" - }, - "parameters": { - "id": 2854, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2847, - "mutability": "mutable", - "name": "from", - "nameLocation": "739:4:13", - "nodeType": "VariableDeclaration", - "scope": 2893, - "src": "731:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2846, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "731:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2849, - "mutability": "mutable", - "name": "to", - "nameLocation": "753:2:13", - "nodeType": "VariableDeclaration", - "scope": 2893, - "src": "745:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2848, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "745:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2851, - "mutability": "mutable", - "name": "firstTokenId", - "nameLocation": "765:12:13", - "nodeType": "VariableDeclaration", - "scope": 2893, - "src": "757:20:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "757:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2853, - "mutability": "mutable", - "name": "batchSize", - "nameLocation": "787:9:13", - "nodeType": "VariableDeclaration", - "scope": 2893, - "src": "779:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "779:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "730:67:13" - }, - "returnParameters": { - "id": 2856, - "nodeType": "ParameterList", - "parameters": [], - "src": "824:0:13" - }, - "scope": 2976, - "src": "701:372:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 204 - ], - "body": { - "id": 2941, - "nodeType": "Block", - "src": "1167:618:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2902, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2895, - "src": "1192:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2901, - "name": "_requireMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "1177:14:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", - "typeString": "function (uint256) view" - } - }, - "id": 2903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1177:23:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2904, - "nodeType": "ExpressionStatement", - "src": "1177:23:13" - }, - { - "assignments": [ - 2906 - ], - "declarations": [ - { - "constant": false, - "id": 2906, - "mutability": "mutable", - "name": "json", - "nameLocation": "1225:4:13", - "nodeType": "VariableDeclaration", - "scope": 2941, - "src": "1211:18:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2905, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1211:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2931, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "hexValue": "7b226e616d65223a20224372656469742053797374656d20536f756c626f756e6420546f6b656e20284353534254292023", - "id": 2915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1352:51:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317", - "typeString": "literal_string \"{\"name\": \"Credit System Soulbound Token (CSSBT) #\"" - }, - "value": "{\"name\": \"Credit System Soulbound Token (CSSBT) #" - }, - { - "arguments": [ - { - "id": 2918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2895, - "src": "1446:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2916, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "1429:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$1789_$", - "typeString": "type(library Strings)" - } - }, - "id": 2917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1437:8:13", - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 1619, - "src": "1429:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 2919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1429:25:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "hexValue": "222c", - "id": 2920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1480:4:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb", - "typeString": "literal_string \"\",\"" - }, - "value": "\"," - }, - { - "hexValue": "22696d6167655f64617461223a2022", - "id": 2921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1510:17:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8", - "typeString": "literal_string \"\"image_data\": \"\"" - }, - "value": "\"image_data\": \"" - }, - { - "arguments": [ - { - "id": 2923, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2895, - "src": "1565:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2922, - "name": "getSvgImage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "1553:11:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 2924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1553:20:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "hexValue": "22", - "id": 2925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1599:3:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", - "typeString": "literal_string \"\"\"" - }, - "value": "\"" - }, - { - "hexValue": "7d", - "id": 2926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1628:3:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff", - "typeString": "literal_string \"}\"" - }, - "value": "}" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_265c76b99a02c4ebdf5ce3cd247fdc7aa43f4e168c910aa37748d85e1c8b9317", - "typeString": "literal_string \"{\"name\": \"Credit System Soulbound Token (CSSBT) #\"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_24823e6fed9f46f380d33960e511caeb002037c5a4e9735154809fa36b166ffb", - "typeString": "literal_string \"\",\"" - }, - { - "typeIdentifier": "t_stringliteral_37d584b4b089ff2f7ba00eec4972cf4a81a429bd95bade137ee46b46b3c549f8", - "typeString": "literal_string \"\"image_data\": \"\"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", - "typeString": "literal_string \"\"\"" - }, - { - "typeIdentifier": "t_stringliteral_8e2ffa389f3a6ded42d759b3377ac0d928e6a268d143bcc9517093d10c843bff", - "typeString": "literal_string \"}\"" - } - ], - "expression": { - "id": 2913, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "1310:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1314:12:13", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1310:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1310:343:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1282:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2911, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1282:6:13", - "typeDescriptions": {} - } - }, - "id": 2928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1282:389:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1259:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2909, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1259:5:13", - "typeDescriptions": {} - } - }, - "id": 2929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1259:429:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 2907, - "name": "Base64", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1464, - "src": "1232:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$1464_$", - "typeString": "type(library Base64)" - } - }, - "id": 2908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1239:6:13", - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": 1463, - "src": "1232:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (string memory)" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1232:466:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1211:487:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 2936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1739:31:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", - "typeString": "literal_string \"data:application/json;base64,\"" - }, - "value": "data:application/json;base64," - }, - { - "id": 2937, - "name": "json", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2906, - "src": "1772:4:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", - "typeString": "literal_string \"data:application/json;base64,\"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 2934, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "1722:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1726:12:13", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1722:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1722:55:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1715:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2932, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1715:6:13", - "typeDescriptions": {} - } - }, - "id": 2939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1715:63:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 2900, - "id": 2940, - "nodeType": "Return", - "src": "1708:70:13" - } - ] - }, - "functionSelector": "c87b56dd", - "id": 2942, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "1088:8:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2897, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1134:8:13" - }, - "parameters": { - "id": 2896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2895, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1105:7:13", - "nodeType": "VariableDeclaration", - "scope": 2942, - "src": "1097:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1097:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1096:17:13" - }, - "returnParameters": { - "id": 2900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2899, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2942, - "src": "1152:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2898, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1152:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1151:15:13" - }, - "scope": 2976, - "src": "1079:706:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2974, - "nodeType": "Block", - "src": "1858:8842:13", - "statements": [ - { - "assignments": [ - 2950 - ], - "declarations": [ - { - "constant": false, - "id": 2950, - "mutability": "mutable", - "name": "uid_str", - "nameLocation": "1882:7:13", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "1868:21:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2949, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1868:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2955, - "initialValue": { - "arguments": [ - { - "id": 2953, - "name": "uid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2944, - "src": "1909:3:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2951, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "1892:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$1789_$", - "typeString": "type(library Strings)" - } - }, - "id": 2952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1900:8:13", - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 1619, - "src": "1892:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 2954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1892:21:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1868:45:13" - }, - { - "assignments": [ - 2957 - ], - "declarations": [ - { - "constant": false, - "id": 2957, - "mutability": "mutable", - "name": "a", - "nameLocation": "1937:1:13", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "1923:15:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2956, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1923:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2959, - "initialValue": { - "hexValue": "3c7376672069643d27655932476a50376b355374312720786d6c6e733d27687474703a2f2f7777772e77332e6f72672f323030302f7376672720786d6c6e733a786c696e6b3d27687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b272076696577426f783d27302030203531312e393939203531312e393939272073686170652d72656e646572696e673d2767656f6d6574726963507265636973696f6e2720746578742d72656e646572696e673d2767656f6d6574726963507265636973696f6e272077696474683d273531312e39393927206865696768743d273531312e393939273e3c7061746820643d274d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a272066696c6c3d2723333961336462272f3e3c7061746820643d274d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a272066696c6c3d2723333739376433272f3e3c7061746820643d274d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a272066696c6c3d2723383064306531272f3e3c673e3c636972636c6520723d2732372e32303427207472616e73666f726d3d277472616e736c617465283135392e333536203233372e33353529272066696c6c3d2723653866326662272f3e3c7061746820643d274d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a272066696c6c3d2723653866326662272f3e3c2f673e3c7061746820643d274d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829272066696c6c3d2723353162336461272f3e3c7061746820643d274d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a27207472616e73666f726d3d276d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129272066696c6c3d2723353162336461272f3e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283237302e363036393738203138302e303431353529272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2732352e35393939352720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d27302720793d2735312e313939392720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b2020202020284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2730272064793d27302720666f6e742d66616d696c793d272671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2720666f6e742d73697a653d2732352e35393939352720666f6e742d7765696768743d2737303027207472616e73666f726d3d277472616e736c617465283239352e363933363739203333322e34343530393429272066696c6c3d272366666627207374726f6b652d77696474683d2730273e3c747370616e20793d27302720666f6e742d7765696768743d2737303027207374726f6b652d77696474683d2730273e3c215b43444154415b23", - "id": 2958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1941:2366:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dbcc12a40ae8300b68536c213bc5a43164d523186f9da63fce0f8091a561880f", - "typeString": "literal_string \"Credit System Soulbound Token (CSSBT)#\"" - }, - "value": "<svg id='eY2GjP7k5St1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 511.999 511.999' shape-rendering='geometricPrecision' text-rendering='geometricPrecision' width='511.999' height='511.999'><path d='M460.803,446.739h-409.606C22.967,446.739,0,423.772,0,395.542v-279.085C0,88.227,22.967,65.26,51.197,65.26h409.605c28.23,0,51.197,22.967,51.197,51.197v279.084c.001,28.231-22.966,51.198-51.196,51.198Z' fill='#39a3db'/><path d='M460.803,65.26h-204.804v381.479h204.802c28.23,0,51.197-22.967,51.197-51.197v-279.085C512,88.227,489.033,65.26,460.803,65.26Z' fill='#3797d3'/><path d='M237.413,381.144h-156.122c-10.264,0-18.586-8.322-18.586-18.586v-213.119c0-10.264,8.322-18.586,18.586-18.586h156.122c10.264,0,18.586,8.322,18.586,18.586v213.119c0,10.266-8.32,18.586-18.586,18.586Z' fill='#80d0e1'/><g><circle r='27.204' transform='translate(159.356 237.355)' fill='#e8f2fb'/><path d='M160.414,285.559c-40.261,0-73.306,30.9-76.71,70.279-.312,3.614,2.556,6.721,6.184,6.721h141.053c3.628,0,6.496-3.106,6.184-6.721-3.405-39.378-36.449-70.279-76.711-70.279Z' fill='#e8f2fb'/></g><path d='M439.004,234.586h-147.18c-10.264,0-18.586-8.322-18.586-18.586v-66.561c0-10.264,8.322-18.586,18.586-18.586h147.18c10.264,0,18.586,8.322,18.586,18.586v66.561c0,10.265-8.321,18.586-18.586,18.586Z' transform='matrix(1.06575 0 0 1.15416-23.142833-14.750278)' fill='#51b3da'/><path d='M439.004,284.497h-147.18c-10.264,0-18.586-8.322-18.586-18.586s8.322-18.586,18.586-18.586h147.18c10.264,0,18.586,8.322,18.586,18.586c0,10.266-8.321,18.586-18.586,18.586Z' transform='matrix(1.075331 0 0 1.526395-25.760726-81.826221)' fill='#51b3da'/><text dx='0' dy='0' font-family='&quot;eY2GjP7k5St1:::Source Sans Pro&quot;' font-size='25.59995' font-weight='700' transform='translate(270.606978 180.04155)' fill='#fff' stroke-width='0'><tspan y='0' font-weight='700' stroke-width='0'><![CDATA[Credit System Soulbound Token (CSSBT)#" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1923:2384:13" - }, - { - "assignments": [ - 2961 - ], - "declarations": [ - { - "constant": false, - "id": 2961, - "mutability": "mutable", - "name": "b", - "nameLocation": "4331:1:13", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "4317:15:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2960, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4317:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2963, - "initialValue": { - "hexValue": "5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e", - "id": 2962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4336:6301:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3b8052da42b9847f866978e427af2eeb6ff3d7c7469020abf02b901a8c834480", - "typeString": "literal_string \"\"" - }, - "value": "]]>" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4317:6320:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2968, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2957, - "src": "10678:1:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2969, - "name": "uid_str", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2950, - "src": "10681:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2970, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2961, - "src": "10690:1:13", - "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" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 2966, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "10661:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "10665:12:13", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "10661:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10661:31:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10654:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2964, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "10654:6:13", - "typeDescriptions": {} - } - }, - "id": 2972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10654:39:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 2948, - "id": 2973, - "nodeType": "Return", - "src": "10647:46:13" - } - ] - }, - "id": 2975, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSvgImage", - "nameLocation": "1800:11:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2944, - "mutability": "mutable", - "name": "uid", - "nameLocation": "1817:3:13", - "nodeType": "VariableDeclaration", - "scope": 2975, - "src": "1812:8:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2943, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1812:4:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1811:10:13" - }, - "returnParameters": { - "id": 2948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2947, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2975, - "src": "1844:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2946, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1844:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1843:15:13" - }, - "scope": 2976, - "src": "1791:8909:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - } - ], - "scope": 2977, - "src": "310:10393:13", - "usedErrors": [] - } - ], - "src": "32:10671:13" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": { - "5": { - "events": {}, - "links": {}, - "address": "0x2798F5a81cE621910d9799D709A81c184C3271C2", - "transactionHash": "0x48e4faadd4618f559cb246043ff7f710b42cb3a74a046eb39309d5b6acc4e0ff" - }, - "5777": { - "events": {}, - "links": {}, - "address": "0xfAcF321fC0E66b8679B67c2d2A9D6266b8f219B8", - "transactionHash": "0x5edfa98f84e450e8445ba03d28cdb03eedb49d8bd12fb98926ca6212244c07ab" - } - }, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T12:30:53.515Z", - "networkType": "ethereum", - "devdoc": { - "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": "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/build/contracts/Strings.json b/build/contracts/Strings.json deleted file mode 100644 index 272fe8b..0000000 --- a/build/contracts/Strings.json +++ /dev/null @@ -1,3184 +0,0 @@ -{ - "contractName": "Strings", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}", - "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f2e3c639b25fe7dd66051b150ad6d4fc54abc0bdf00877d2fe20dbd83f94120864736f6c63430008130033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f2e3c639b25fe7dd66051b150ad6d4fc54abc0bdf00877d2fe20dbd83f94120864736f6c63430008130033", - "immutableReferences": {}, - "generatedSources": [], - "deployedGeneratedSources": [], - "sourceMap": "220:2559:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "220:2559:8:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./math/Math.sol\";\nimport \"./math/SignedMath.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _SYMBOLS = \"0123456789abcdef\";\n uint8 private constant _ADDRESS_LENGTH = 20;\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 unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n /// @solidity memory-safe-assembly\n assembly {\n ptr := add(buffer, add(32, length))\n }\n while (true) {\n ptr--;\n /// @solidity memory-safe-assembly\n assembly {\n mstore8(ptr, byte(mod(value, 10), _SYMBOLS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toString(int256 value) internal pure returns (string memory) {\n return string(abi.encodePacked(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value))));\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 unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\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] = _SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return keccak256(bytes(a)) == keccak256(bytes(b));\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Strings.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "exportedSymbols": { - "Math": [ - 2691 - ], - "SignedMath": [ - 2796 - ], - "Strings": [ - 1789 - ] - }, - "id": 1790, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1562, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "101:23:8" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/math/Math.sol", - "file": "./math/Math.sol", - "id": 1563, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1790, - "sourceUnit": 2692, - "src": "126:25:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/math/SignedMath.sol", - "file": "./math/SignedMath.sol", - "id": 1564, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1790, - "sourceUnit": 2797, - "src": "152:31:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Strings", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1565, - "nodeType": "StructuredDocumentation", - "src": "185:34:8", - "text": " @dev String operations." - }, - "fullyImplemented": true, - "id": 1789, - "linearizedBaseContracts": [ - 1789 - ], - "name": "Strings", - "nameLocation": "228:7:8", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 1568, - "mutability": "constant", - "name": "_SYMBOLS", - "nameLocation": "267:8:8", - "nodeType": "VariableDeclaration", - "scope": 1789, - "src": "242:54:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 1566, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "242:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": { - "hexValue": "30313233343536373839616263646566", - "id": 1567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "278:18:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", - "typeString": "literal_string \"0123456789abcdef\"" - }, - "value": "0123456789abcdef" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 1571, - "mutability": "constant", - "name": "_ADDRESS_LENGTH", - "nameLocation": "325:15:8", - "nodeType": "VariableDeclaration", - "scope": 1789, - "src": "302:43:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1569, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "302:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "hexValue": "3230", - "id": 1570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "private" - }, - { - "body": { - "id": 1618, - "nodeType": "Block", - "src": "518:625:8", - "statements": [ - { - "id": 1617, - "nodeType": "UncheckedBlock", - "src": "528:609:8", - "statements": [ - { - "assignments": [ - 1580 - ], - "declarations": [ - { - "constant": false, - "id": 1580, - "mutability": "mutable", - "name": "length", - "nameLocation": "560:6:8", - "nodeType": "VariableDeclaration", - "scope": 1617, - "src": "552:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "552:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1587, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1583, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1574, - "src": "580:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1581, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2691, - "src": "569:4:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$2691_$", - "typeString": "type(library Math)" - } - }, - "id": 1582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "574:5:8", - "memberName": "log10", - "nodeType": "MemberAccess", - "referencedDeclaration": 2528, - "src": "569:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 1584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "569:17:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 1585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "589:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "569:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "552:38:8" - }, - { - "assignments": [ - 1589 - ], - "declarations": [ - { - "constant": false, - "id": 1589, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "618:6:8", - "nodeType": "VariableDeclaration", - "scope": 1617, - "src": "604:20:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1588, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "604:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1594, - "initialValue": { - "arguments": [ - { - "id": 1592, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1580, - "src": "638:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "627:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - }, - "typeName": { - "id": 1590, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "631:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "id": 1593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "627:18:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "604:41:8" - }, - { - "assignments": [ - 1596 - ], - "declarations": [ - { - "constant": false, - "id": 1596, - "mutability": "mutable", - "name": "ptr", - "nameLocation": "667:3:8", - "nodeType": "VariableDeclaration", - "scope": 1617, - "src": "659:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1595, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "659:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1597, - "nodeType": "VariableDeclarationStatement", - "src": "659:11:8" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "740:67:8", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "758:35:8", - "value": { - "arguments": [ - { - "name": "buffer", - "nodeType": "YulIdentifier", - "src": "769:6:8" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "781:2:8", - "type": "", - "value": "32" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "785:6:8" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "777:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "777:15:8" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "765:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "765:28:8" - }, - "variableNames": [ - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "758:3:8" - } - ] - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 1589, - "isOffset": false, - "isSlot": false, - "src": "769:6:8", - "valueSize": 1 - }, - { - "declaration": 1580, - "isOffset": false, - "isSlot": false, - "src": "785:6:8", - "valueSize": 1 - }, - { - "declaration": 1596, - "isOffset": false, - "isSlot": false, - "src": "758:3:8", - "valueSize": 1 - } - ], - "id": 1598, - "nodeType": "InlineAssembly", - "src": "731:76:8" - }, - { - "body": { - "id": 1613, - "nodeType": "Block", - "src": "833:267:8", - "statements": [ - { - "expression": { - "id": 1601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "851:5:8", - "subExpression": { - "id": 1600, - "name": "ptr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1596, - "src": "851:3:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1602, - "nodeType": "ExpressionStatement", - "src": "851:5:8" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "934:84:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "964:3:8" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "978:5:8" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "985:2:8", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "974:3:8" - }, - "nodeType": "YulFunctionCall", - "src": "974:14:8" - }, - { - "name": "_SYMBOLS", - "nodeType": "YulIdentifier", - "src": "990:8:8" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "969:4:8" - }, - "nodeType": "YulFunctionCall", - "src": "969:30:8" - } - ], - "functionName": { - "name": "mstore8", - "nodeType": "YulIdentifier", - "src": "956:7:8" - }, - "nodeType": "YulFunctionCall", - "src": "956:44:8" - }, - "nodeType": "YulExpressionStatement", - "src": "956:44:8" - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 1568, - "isOffset": false, - "isSlot": false, - "src": "990:8:8", - "valueSize": 1 - }, - { - "declaration": 1596, - "isOffset": false, - "isSlot": false, - "src": "964:3:8", - "valueSize": 1 - }, - { - "declaration": 1574, - "isOffset": false, - "isSlot": false, - "src": "978:5:8", - "valueSize": 1 - } - ], - "id": 1603, - "nodeType": "InlineAssembly", - "src": "925:93:8" - }, - { - "expression": { - "id": 1606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1604, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1574, - "src": "1035:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "hexValue": "3130", - "id": 1605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1044:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "1035:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1607, - "nodeType": "ExpressionStatement", - "src": "1035:11:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1608, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1574, - "src": "1068:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1077:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1068:10:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1612, - "nodeType": "IfStatement", - "src": "1064:21:8", - "trueBody": { - "id": 1611, - "nodeType": "Break", - "src": "1080:5:8" - } - } - ] - }, - "condition": { - "hexValue": "74727565", - "id": 1599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "827:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "id": 1614, - "nodeType": "WhileStatement", - "src": "820:280:8" - }, - { - "expression": { - "id": 1615, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1589, - "src": "1120:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1578, - "id": 1616, - "nodeType": "Return", - "src": "1113:13:8" - } - ] - } - ] - }, - "documentation": { - "id": 1572, - "nodeType": "StructuredDocumentation", - "src": "352:90:8", - "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." - }, - "id": 1619, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nameLocation": "456:8:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1574, - "mutability": "mutable", - "name": "value", - "nameLocation": "473:5:8", - "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "465:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "465:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "464:15:8" - }, - "returnParameters": { - "id": 1578, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1577, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "503:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1576, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "503:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "502:15:8" - }, - "scope": 1789, - "src": "447:696:8", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1646, - "nodeType": "Block", - "src": "1313:103:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1631, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1622, - "src": "1354:5:8", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "hexValue": "30", - "id": 1632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1362:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1354:9:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "", - "id": 1635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1372:2:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "id": 1636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1354:20:8", - "trueExpression": { - "hexValue": "2d", - "id": 1634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1366:3:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561", - "typeString": "literal_string \"-\"" - }, - "value": "-" - }, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 1640, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1622, - "src": "1400:5:8", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "expression": { - "id": 1638, - "name": "SignedMath", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2796, - "src": "1385:10:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SignedMath_$2796_$", - "typeString": "type(library SignedMath)" - } - }, - "id": 1639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1396:3:8", - "memberName": "abs", - "nodeType": "MemberAccess", - "referencedDeclaration": 2795, - "src": "1385:14:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", - "typeString": "function (int256) pure returns (uint256)" - } - }, - "id": 1641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1385:21:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1637, - "name": "toString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1619, - 1647 - ], - "referencedDeclaration": 1619, - "src": "1376:8:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 1642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1376:31:8", - "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": 1629, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "1337:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1341:12:8", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1337:16:8", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1337:71:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1330:6:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1627, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1330:6:8", - "typeDescriptions": {} - } - }, - "id": 1644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1330:79:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1626, - "id": 1645, - "nodeType": "Return", - "src": "1323:86:8" - } - ] - }, - "documentation": { - "id": 1620, - "nodeType": "StructuredDocumentation", - "src": "1149:89:8", - "text": " @dev Converts a `int256` to its ASCII `string` decimal representation." - }, - "id": 1647, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nameLocation": "1252:8:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1622, - "mutability": "mutable", - "name": "value", - "nameLocation": "1268:5:8", - "nodeType": "VariableDeclaration", - "scope": 1647, - "src": "1261:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 1621, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "1261:6:8", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "1260:14:8" - }, - "returnParameters": { - "id": 1626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1625, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1647, - "src": "1298:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1624, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1298:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1297:15:8" - }, - "scope": 1789, - "src": "1243:173:8", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1666, - "nodeType": "Block", - "src": "1595:100:8", - "statements": [ - { - "id": 1665, - "nodeType": "UncheckedBlock", - "src": "1605:84:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1656, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1650, - "src": "1648:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1659, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1650, - "src": "1667:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1657, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2691, - "src": "1655:4:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$2691_$", - "typeString": "type(library Math)" - } - }, - "id": 1658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1660:6:8", - "memberName": "log256", - "nodeType": "MemberAccess", - "referencedDeclaration": 2651, - "src": "1655:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 1660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1655:18:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 1661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1676:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1655:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1655, - "name": "toHexString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1667, - 1743, - 1763 - ], - "referencedDeclaration": 1743, - "src": "1636:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 1663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1636:42:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1654, - "id": 1664, - "nodeType": "Return", - "src": "1629:49:8" - } - ] - } - ] - }, - "documentation": { - "id": 1648, - "nodeType": "StructuredDocumentation", - "src": "1422:94:8", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." - }, - "id": 1667, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1530:11:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1651, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1650, - "mutability": "mutable", - "name": "value", - "nameLocation": "1550:5:8", - "nodeType": "VariableDeclaration", - "scope": 1667, - "src": "1542:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1541:15:8" - }, - "returnParameters": { - "id": 1654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1653, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1667, - "src": "1580:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1652, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1580:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1579:15:8" - }, - "scope": 1789, - "src": "1521:174:8", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1742, - "nodeType": "Block", - "src": "1908:347:8", - "statements": [ - { - "assignments": [ - 1678 - ], - "declarations": [ - { - "constant": false, - "id": 1678, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "1931:6:8", - "nodeType": "VariableDeclaration", - "scope": 1742, - "src": "1918:19:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1677, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1918:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1687, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1950:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1682, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1672, - "src": "1954:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1950:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "32", - "id": 1684, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1963:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1950:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1940:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1679, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1944:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1940:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1918:47:8" - }, - { - "expression": { - "id": 1692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1688, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1678, - "src": "1975:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1690, - "indexExpression": { - "hexValue": "30", - "id": 1689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1982:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1975:9:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 1691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1987:3:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "src": "1975:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1693, - "nodeType": "ExpressionStatement", - "src": "1975:15:8" - }, - { - "expression": { - "id": 1698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1694, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1678, - "src": "2000:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1696, - "indexExpression": { - "hexValue": "31", - "id": 1695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2007:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2000:9:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "78", - "id": 1697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2012:3:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", - "typeString": "literal_string \"x\"" - }, - "value": "x" - }, - "src": "2000:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1699, - "nodeType": "ExpressionStatement", - "src": "2000:15:8" - }, - { - "body": { - "id": 1728, - "nodeType": "Block", - "src": "2070:83:8", - "statements": [ - { - "expression": { - "id": 1722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1714, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1678, - "src": "2084:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1716, - "indexExpression": { - "id": 1715, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1701, - "src": "2091:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2084:9:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 1717, - "name": "_SYMBOLS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1568, - "src": "2096:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "id": 1721, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1718, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1670, - "src": "2105:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "307866", - "id": 1719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2113:3:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "0xf" - }, - "src": "2105:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2096:21:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "2084:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 1723, - "nodeType": "ExpressionStatement", - "src": "2084:33:8" - }, - { - "expression": { - "id": 1726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1724, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1670, - "src": "2131:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "34", - "id": 1725, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2141:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "2131:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1727, - "nodeType": "ExpressionStatement", - "src": "2131:11:8" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1708, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1701, - "src": "2058:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "31", - "id": 1709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2062:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2058:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1729, - "initializationExpression": { - "assignments": [ - 1701 - ], - "declarations": [ - { - "constant": false, - "id": 1701, - "mutability": "mutable", - "name": "i", - "nameLocation": "2038:1:8", - "nodeType": "VariableDeclaration", - "scope": 1729, - "src": "2030:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2030:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1707, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 1702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2042:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 1703, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1672, - "src": "2046:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2042:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 1705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2055:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2042:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2030:26:8" - }, - "loopExpression": { - "expression": { - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": true, - "src": "2065:3:8", - "subExpression": { - "id": 1711, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1701, - "src": "2067:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1713, - "nodeType": "ExpressionStatement", - "src": "2065:3:8" - }, - "nodeType": "ForStatement", - "src": "2025:128:8" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1731, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1670, - "src": "2170:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2179:1:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2170:10:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", - "id": 1734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2182:34:8", - "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": 1730, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2162:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2162:55:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1736, - "nodeType": "ExpressionStatement", - "src": "2162:55:8" - }, - { - "expression": { - "arguments": [ - { - "id": 1739, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1678, - "src": "2241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2234:6:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1737, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2234:6:8", - "typeDescriptions": {} - } - }, - "id": 1740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2234:14:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1676, - "id": 1741, - "nodeType": "Return", - "src": "2227:21:8" - } - ] - }, - "documentation": { - "id": 1668, - "nodeType": "StructuredDocumentation", - "src": "1701:112:8", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." - }, - "id": 1743, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1827:11:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1670, - "mutability": "mutable", - "name": "value", - "nameLocation": "1847:5:8", - "nodeType": "VariableDeclaration", - "scope": 1743, - "src": "1839:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1669, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1839:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1672, - "mutability": "mutable", - "name": "length", - "nameLocation": "1862:6:8", - "nodeType": "VariableDeclaration", - "scope": 1743, - "src": "1854:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1854:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1838:31:8" - }, - "returnParameters": { - "id": 1676, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1675, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1743, - "src": "1893:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1674, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1893:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1892:15:8" - }, - "scope": 1789, - "src": "1818:437:8", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1762, - "nodeType": "Block", - "src": "2480:76:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 1756, - "name": "addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "2525:4:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1755, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2517:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 1754, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "2517:7:8", - "typeDescriptions": {} - } - }, - "id": 1757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2517:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 1753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2509:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2509:7:8", - "typeDescriptions": {} - } - }, - "id": 1758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2509:22:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1759, - "name": "_ADDRESS_LENGTH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1571, - "src": "2533:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 1751, - "name": "toHexString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1667, - 1743, - 1763 - ], - "referencedDeclaration": 1743, - "src": "2497:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 1760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2497:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1750, - "id": 1761, - "nodeType": "Return", - "src": "2490:59:8" - } - ] - }, - "documentation": { - "id": 1744, - "nodeType": "StructuredDocumentation", - "src": "2261:141:8", - "text": " @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation." - }, - "id": 1763, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "2416:11:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1747, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1746, - "mutability": "mutable", - "name": "addr", - "nameLocation": "2436:4:8", - "nodeType": "VariableDeclaration", - "scope": 1763, - "src": "2428:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1745, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2428:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2427:14:8" - }, - "returnParameters": { - "id": 1750, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1749, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1763, - "src": "2465:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1748, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2465:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2464:15:8" - }, - "scope": 1789, - "src": "2407:149:8", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1787, - "nodeType": "Block", - "src": "2711:66:8", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 1785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 1776, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1766, - "src": "2744:1:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2738:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1774, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2738:5:8", - "typeDescriptions": {} - } - }, - "id": 1777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2738:8:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1773, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "2728:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2728:19:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 1782, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1768, - "src": "2767:1:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2761:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1780, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2761:5:8", - "typeDescriptions": {} - } - }, - "id": 1783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2761:8:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1779, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "2751:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2751:19:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2728:42:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1772, - "id": 1786, - "nodeType": "Return", - "src": "2721:49:8" - } - ] - }, - "documentation": { - "id": 1764, - "nodeType": "StructuredDocumentation", - "src": "2562:66:8", - "text": " @dev Returns true if the two strings are equal." - }, - "id": 1788, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "equal", - "nameLocation": "2642:5:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1769, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1766, - "mutability": "mutable", - "name": "a", - "nameLocation": "2662:1:8", - "nodeType": "VariableDeclaration", - "scope": 1788, - "src": "2648:15:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1765, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2648:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1768, - "mutability": "mutable", - "name": "b", - "nameLocation": "2679:1:8", - "nodeType": "VariableDeclaration", - "scope": 1788, - "src": "2665:15:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1767, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2665:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2647:34:8" - }, - "returnParameters": { - "id": 1772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1771, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1788, - "src": "2705:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1770, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2705:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2704:6:8" - }, - "scope": 1789, - "src": "2633:144:8", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 1790, - "src": "220:2559:8", - "usedErrors": [] - } - ], - "src": "101:2679:8" - }, - "compiler": { - "name": "solc", - "version": "0.8.19+commit.7dd6d404.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.4.13", - "updatedAt": "2023-06-04T09:28:33.986Z", - "devdoc": { - "details": "String operations.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file