From 3c10d1cc9b1e67fe644162ae21407a5da511c6d8 Mon Sep 17 00:00:00 2001 From: PraetorP Date: Thu, 19 Jan 2023 10:21:44 +0000 Subject: [PATCH] chore: delete unused `json` files --- --- a/tests/src/benchmarks/mintFee/openZeppelin/bin/ZeppelinContract-solc-output.json +++ /dev/null @@ -1,74221 +0,0 @@ -{ - "contracts": { - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/access/Ownable.sol": { - "Ownable": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", - "kind": "dev", - "methods": { - "constructor": { - "details": "Initializes the contract setting the deployer as the initial owner." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 7, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/access/Ownable.sol:Ownable", - "label": "_owner", - "offset": 0, - "slot": "0", - "type": "t_address" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol": { - "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": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.", - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "constructor": { - "details": "Initializes the contract by setting a `name` and a `symbol` to the token collection." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - } - }, - "version": 1 - }, - "evm": { - "bytecode": { - "functionDebugData": { - "@_175": { - "entryPoint": null, - "id": 175, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_string_fromMemory": { - "entryPoint": 112, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory": { - "entryPoint": 287, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "array_dataslot_string_storage": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 453, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 536, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 393, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "extract_used_part_and_set_length_of_short_byte_array": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "panic_error_0x41": { - "entryPoint": 90, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:4144:17", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:17", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:17", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:17" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "210:776:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "259:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "268:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "271:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "261:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "261:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "261:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "238:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "246:4:17", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "234:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "234:17:17" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "253:3:17" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "230:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "230:27:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "223:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "223:35:17" - }, - "nodeType": "YulIf", - "src": "220:55:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "284:23:17", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "300:6:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "294:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "294:13:17" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "288:2:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "316:28:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "334:2:17", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "338:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "330:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "330:10:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "342:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "326:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "326:18:17" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "320:2:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "367:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "369:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "369:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "369:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "359:2:17" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "363:2:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "356:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "356:10:17" - }, - "nodeType": "YulIf", - "src": "353:36:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "398:17:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "412:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "408:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "408:7:17" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "402:2:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "424:23:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "444:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "438:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "438:9:17" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "428:6:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "456:71:17", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "478:6:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "502:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "506:4:17", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "498:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "498:13:17" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "513:2:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "494:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "494:22:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "518:2:17", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "490:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "490:31:17" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "523:2:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "486:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "486:40:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "474:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "474:53:17" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "460:10:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "586:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "588:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "588:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "588:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "545:10:17" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "557:2:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "542:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "542:18:17" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "565:10:17" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "577:6:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "562:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "562:22:17" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "539:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "539:46:17" - }, - "nodeType": "YulIf", - "src": "536:72:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "624:2:17", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "628:10:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "617:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "617:22:17" - }, - "nodeType": "YulExpressionStatement", - "src": "617:22:17" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "655:6:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "663:2:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "648:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "648:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "648:18:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "675:14:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "685:4:17", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "679:2:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "735:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "744:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "747:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "737:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "737:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "737:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "712:6:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "720:2:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "708:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "708:15:17" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "725:2:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "704:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "704:24:17" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "730:3:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "701:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "701:33:17" - }, - "nodeType": "YulIf", - "src": "698:53:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "760:10:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "769:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "764:1:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "825:87:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "854:6:17" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "862:1:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "850:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "850:14:17" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "866:2:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "846:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "846:23:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "885:6:17" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "893:1:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "881:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "881:14:17" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "897:2:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "877:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "877:23:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "871:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "871:30:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "839:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "839:63:17" - }, - "nodeType": "YulExpressionStatement", - "src": "839:63:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "790:1:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "793:2:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "787:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "787:9:17" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "797:19:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "799:15:17", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "808:1:17" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "811:2:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "804:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "804:10:17" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "799:1:17" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "783:3:17", - "statements": [] - }, - "src": "779:133:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "936:6:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "944:2:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "932:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "932:15:17" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "949:2:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "928:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "928:24:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "954:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "921:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "921:35:17" - }, - "nodeType": "YulExpressionStatement", - "src": "921:35:17" - }, - { - "nodeType": "YulAssignment", - "src": "965:15:17", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "974:6:17" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "965:5:17" - } - ] - } - ] - }, - "name": "abi_decode_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "184:6:17", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "192:3:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "200:5:17", - "type": "" - } - ], - "src": "146:840:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1109:444:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1155:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1164:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1167:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1157:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1157:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1157:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1130:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1139:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1126:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1126:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1151:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1122:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1122:32:17" - }, - "nodeType": "YulIf", - "src": "1119:52:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1180:30:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1200:9:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1194:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "1194:16:17" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1184:6:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1219:28:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1237:2:17", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1241:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1233:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1233:10:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1245:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1229:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1229:18:17" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1223:2:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1274:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1283:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1286:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1276:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1276:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1276:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1262:6:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1270:2:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1259:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1259:14:17" - }, - "nodeType": "YulIf", - "src": "1256:34:17" - }, - { - "nodeType": "YulAssignment", - "src": "1299:71:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1342:9:17" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1353:6:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1338:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1338:22:17" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1362:7:17" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1309:28:17" - }, - "nodeType": "YulFunctionCall", - "src": "1309:61:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1299:6:17" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1379:41:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1405:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1416:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1401:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1401:18:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1395:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "1395:25:17" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1383:8:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1449:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1458:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1461:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1451:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1451:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1451:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1435:8:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1445:2:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1432:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1432:16:17" - }, - "nodeType": "YulIf", - "src": "1429:36:17" - }, - { - "nodeType": "YulAssignment", - "src": "1474:73:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1517:9:17" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1528:8:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1513:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1513:24:17" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1539:7:17" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1484:28:17" - }, - "nodeType": "YulFunctionCall", - "src": "1484:63:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1474:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1067:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1078:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1090:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1098:6:17", - "type": "" - } - ], - "src": "991:562:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1613:325:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1623:22:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1637:1:17", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1640:4:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1633:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1633:12:17" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1623:6:17" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1654:38:17", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1684:4:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1690:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1680:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1680:12:17" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "1658:18:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1731:31:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1733:27:17", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1747:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1755:4:17", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1743:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1743:17:17" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1733:6:17" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1711:18:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1704:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1704:26:17" - }, - "nodeType": "YulIf", - "src": "1701:61:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1821:111:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1842:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1849:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1854:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1845:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1845:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1835:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1835:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1835:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1886:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1889:4:17", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1879:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1879:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1879:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1914:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1917:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1907:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1907:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1907:15:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1777:18:17" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1800:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1808:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1797:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1797:14:17" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1774:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1774:38:17" - }, - "nodeType": "YulIf", - "src": "1771:161:17" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1593:4:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1602:6:17", - "type": "" - } - ], - "src": "1558:380:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1999:65:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2016:1:17", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "2019:3:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2009:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2009:14:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2009:14:17" - }, - { - "nodeType": "YulAssignment", - "src": "2032:26:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2050:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2053:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "2040:9:17" - }, - "nodeType": "YulFunctionCall", - "src": "2040:18:17" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2032:4:17" - } - ] - } - ] - }, - "name": "array_dataslot_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "1982:3:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1990:4:17", - "type": "" - } - ], - "src": "1943:121:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2150:464:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2183:425:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2197:11:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2207:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "2201:2:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2228:2:17" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2232:5:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2221:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2221:17:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2221:17:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2251:31:17", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2273:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2277:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "2263:9:17" - }, - "nodeType": "YulFunctionCall", - "src": "2263:19:17" - }, - "variables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2255:4:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2295:57:17", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2318:4:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2328:1:17", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "2335:10:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2347:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2331:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2331:19:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2324:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2324:27:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2314:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2314:38:17" - }, - "variables": [ - { - "name": "deleteStart", - "nodeType": "YulTypedName", - "src": "2299:11:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2389:23:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2391:19:17", - "value": { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2406:4:17" - }, - "variableNames": [ - { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "2391:11:17" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "2371:10:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2383:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2368:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "2368:20:17" - }, - "nodeType": "YulIf", - "src": "2365:47:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2425:41:17", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2439:4:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2449:1:17", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "2456:3:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2461:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2452:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2452:12:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2445:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2445:20:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2435:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2435:31:17" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "2429:2:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2479:24:17", - "value": { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "2492:11:17" - }, - "variables": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "2483:5:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2577:21:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2586:5:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2593:2:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2579:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2579:17:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2579:17:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2527:5:17" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2534:2:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2524:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "2524:13:17" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "2538:26:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2540:22:17", - "value": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2553:5:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2560:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2549:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2549:13:17" - }, - "variableNames": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2540:5:17" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "2520:3:17", - "statements": [] - }, - "src": "2516:82:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "2166:3:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2171:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2163:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "2163:11:17" - }, - "nodeType": "YulIf", - "src": "2160:448:17" - } - ] - }, - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "2122:5:17", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "2129:3:17", - "type": "" - }, - { - "name": "startIndex", - "nodeType": "YulTypedName", - "src": "2134:10:17", - "type": "" - } - ], - "src": "2069:545:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2704:81:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2714:65:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2729:4:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2747:1:17", - "type": "", - "value": "3" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "2750:3:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2743:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2743:11:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2760:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2756:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2756:6:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2739:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2739:24:17" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2735:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2735:29:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2725:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2725:40:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2771:1:17", - "type": "", - "value": "1" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "2774:3:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2767:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2767:11:17" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "2722:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "2722:57:17" - }, - "variableNames": [ - { - "name": "used", - "nodeType": "YulIdentifier", - "src": "2714:4:17" - } - ] - } - ] - }, - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2681:4:17", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "2687:3:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "used", - "nodeType": "YulTypedName", - "src": "2695:4:17", - "type": "" - } - ], - "src": "2619:166:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2886:1256:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2896:24:17", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2916:3:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2910:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "2910:10:17" - }, - "variables": [ - { - "name": "newLen", - "nodeType": "YulTypedName", - "src": "2900:6:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2963:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "2965:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "2965:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2965:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2935:6:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2951:2:17", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2955:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2947:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2947:10:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2959:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2943:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2943:18:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2932:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "2932:30:17" - }, - "nodeType": "YulIf", - "src": "2929:56:17" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "3038:4:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "3076:4:17" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "3070:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "3070:11:17" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nodeType": "YulIdentifier", - "src": "3044:25:17" - }, - "nodeType": "YulFunctionCall", - "src": "3044:38:17" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3084:6:17" - } - ], - "functionName": { - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulIdentifier", - "src": "2994:43:17" - }, - "nodeType": "YulFunctionCall", - "src": "2994:97:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2994:97:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3100:18:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3117:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "srcOffset", - "nodeType": "YulTypedName", - "src": "3104:9:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3127:23:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3146:4:17", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "srcOffset_1", - "nodeType": "YulTypedName", - "src": "3131:11:17", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3159:24:17", - "value": { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "3172:11:17" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "3159:9:17" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3229:656:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3243:35:17", - "value": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3262:6:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3274:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3270:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3270:7:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3258:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3258:20:17" - }, - "variables": [ - { - "name": "loopEnd", - "nodeType": "YulTypedName", - "src": "3247:7:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3291:49:17", - "value": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "3335:4:17" - } - ], - "functionName": { - "name": "array_dataslot_string_storage", - "nodeType": "YulIdentifier", - "src": "3305:29:17" - }, - "nodeType": "YulFunctionCall", - "src": "3305:35:17" - }, - "variables": [ - { - "name": "dstPtr", - "nodeType": "YulTypedName", - "src": "3295:6:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3353:10:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3362:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "3357:1:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3440:172:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "3465:6:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3483:3:17" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "3488:9:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3479:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3479:19:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3473:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "3473:26:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "3458:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3458:42:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3458:42:17" - }, - { - "nodeType": "YulAssignment", - "src": "3517:24:17", - "value": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "3531:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3539:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3527:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3527:14:17" - }, - "variableNames": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "3517:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3558:40:17", - "value": { - "arguments": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "3575:9:17" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "3586:11:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3571:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3571:27:17" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "3558:9:17" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3387:1:17" - }, - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "3390:7:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3384:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3384:14:17" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "3399:28:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3401:24:17", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3410:1:17" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "3413:11:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3406:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3406:19:17" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3401:1:17" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "3380:3:17", - "statements": [] - }, - "src": "3376:236:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3660:166:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3678:43:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3705:3:17" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "3710:9:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3701:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3701:19:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3695:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "3695:26:17" - }, - "variables": [ - { - "name": "lastValue", - "nodeType": "YulTypedName", - "src": "3682:9:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "3745:6:17" - }, - { - "arguments": [ - { - "name": "lastValue", - "nodeType": "YulIdentifier", - "src": "3757:9:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3784:1:17", - "type": "", - "value": "3" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3787:6:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3780:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3780:14:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3796:3:17", - "type": "", - "value": "248" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3776:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3776:24:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3806:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3802:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3802:6:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "3772:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3772:37:17" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3768:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3768:42:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3753:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3753:58:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "3738:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3738:74:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3738:74:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "3631:7:17" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3640:6:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3628:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3628:19:17" - }, - "nodeType": "YulIf", - "src": "3625:201:17" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "3846:4:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3860:1:17", - "type": "", - "value": "1" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3863:6:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3856:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3856:14:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3872:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3852:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3852:22:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "3839:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3839:36:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3839:36:17" - } - ] - }, - "nodeType": "YulCase", - "src": "3222:663:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3227:1:17", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3902:234:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3916:14:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3929:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3920:5:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3965:67:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3983:35:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "4002:3:17" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "4007:9:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3998:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3998:19:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3992:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "3992:26:17" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3983:5:17" - } - ] - } - ] - }, - "condition": { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3946:6:17" - }, - "nodeType": "YulIf", - "src": "3943:89:17" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "4052:4:17" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4111:5:17" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "4118:6:17" - } - ], - "functionName": { - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulIdentifier", - "src": "4058:52:17" - }, - "nodeType": "YulFunctionCall", - "src": "4058:67:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "4045:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4045:81:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4045:81:17" - } - ] - }, - "nodeType": "YulCase", - "src": "3894:242:17", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3202:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3210:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3199:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3199:14:17" - }, - "nodeType": "YulSwitch", - "src": "3192:944:17" - } - ] - }, - "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "2871:4:17", - "type": "" - }, - { - "name": "src", - "nodeType": "YulTypedName", - "src": "2877:3:17", - "type": "" - } - ], - "src": "2790:1352:17" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n mstore(add(add(memPtr, _1), _4), 0)\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\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}", - "id": 17, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b506040516200149d3803806200149d83398101604081905262000034916200011f565b600062000042838262000218565b50600162000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6111a980620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610cf9565b6101ff565b60405190151581526020015b60405180910390f35b610104610251565b6040516100f39190610d66565b61012461011f366004610d79565b6102e3565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610dae565b61030a565b005b61014f61015f366004610dd8565b610424565b61014f610172366004610dd8565b610455565b610124610185366004610d79565b610470565b61019d610198366004610e14565b6104d0565b6040519081526020016100f3565b610104610556565b61014f6101c1366004610e2f565b610565565b61014f6101d4366004610e81565b610574565b6101046101e7366004610d79565b6105ac565b6100e76101fa366004610f5d565b610620565b60006001600160e01b031982166380ac58cd60e01b148061023057506001600160e01b03198216635b5e139f60e01b145b8061024b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461026090610f90565b80601f016020809104026020016040519081016040528092919081815260200182805461028c90610f90565b80156102d95780601f106102ae576101008083540402835291602001916102d9565b820191906000526020600020905b8154815290600101906020018083116102bc57829003601f168201915b5050505050905090565b60006102ee8261064e565b506000908152600460205260409020546001600160a01b031690565b600061031582610470565b9050806001600160a01b0316836001600160a01b0316036103875760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103a357506103a38133610620565b6104155760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161037e565b61041f83836106b0565b505050565b61042e338261071e565b61044a5760405162461bcd60e51b815260040161037e90610fca565b61041f83838361077d565b61041f83838360405180602001604052806000815250610574565b6000818152600260205260408120546001600160a01b03168061024b5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161037e565b60006001600160a01b03821661053a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161037e565b506001600160a01b031660009081526003602052604090205490565b60606001805461026090610f90565b6105703383836108ee565b5050565b61057e338361071e565b61059a5760405162461bcd60e51b815260040161037e90610fca565b6105a6848484846109bc565b50505050565b60606105b78261064e565b60006105ce60408051602081019091526000815290565b905060008151116105ee5760405180602001604052806000815250610619565b806105f8846109ef565b604051602001610609929190611017565b6040516020818303038152906040525b9392505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000818152600260205260409020546001600160a01b03166106ad5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161037e565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e582610470565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072a83610470565b9050806001600160a01b0316846001600160a01b0316148061075157506107518185610620565b806107755750836001600160a01b031661076a846102e3565b6001600160a01b0316145b949350505050565b826001600160a01b031661079082610470565b6001600160a01b0316146107b65760405162461bcd60e51b815260040161037e90611046565b6001600160a01b0382166108185760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161037e565b6108258383836001610a82565b826001600160a01b031661083882610470565b6001600160a01b03161461085e5760405162461bcd60e51b815260040161037e90611046565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361094f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161037e565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109c784848461077d565b6109d384848484610b0a565b6105a65760405162461bcd60e51b815260040161037e9061108b565b606060006109fc83610c0b565b600101905060008167ffffffffffffffff811115610a1c57610a1c610e6b565b6040519080825280601f01601f191660200182016040528015610a46576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5057509392505050565b60018111156105a6576001600160a01b03841615610ac8576001600160a01b03841660009081526003602052604081208054839290610ac29084906110f3565b90915550505b6001600160a01b038316156105a6576001600160a01b03831660009081526003602052604081208054839290610aff908490611106565b909155505050505050565b60006001600160a01b0384163b15610c0057604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610b4e903390899088908890600401611119565b6020604051808303816000875af1925050508015610b89575060408051601f3d908101601f19168201909252610b8691810190611156565b60015b610be6573d808015610bb7576040519150601f19603f3d011682016040523d82523d6000602084013e610bbc565b606091505b508051600003610bde5760405162461bcd60e51b815260040161037e9061108b565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610775565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610c4a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610c76576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c9457662386f26fc10000830492506010015b6305f5e1008310610cac576305f5e100830492506008015b6127108310610cc057612710830492506004015b60648310610cd2576064830492506002015b600a831061024b5760010192915050565b6001600160e01b0319811681146106ad57600080fd5b600060208284031215610d0b57600080fd5b813561061981610ce3565b60005b83811015610d31578181015183820152602001610d19565b50506000910152565b60008151808452610d52816020860160208601610d16565b601f01601f19169290920160200192915050565b6020815260006106196020830184610d3a565b600060208284031215610d8b57600080fd5b5035919050565b80356001600160a01b0381168114610da957600080fd5b919050565b60008060408385031215610dc157600080fd5b610dca83610d92565b946020939093013593505050565b600080600060608486031215610ded57600080fd5b610df684610d92565b9250610e0460208501610d92565b9150604084013590509250925092565b600060208284031215610e2657600080fd5b61061982610d92565b60008060408385031215610e4257600080fd5b610e4b83610d92565b915060208301358015158114610e6057600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e9757600080fd5b610ea085610d92565b9350610eae60208601610d92565b925060408501359150606085013567ffffffffffffffff80821115610ed257600080fd5b818701915087601f830112610ee657600080fd5b813581811115610ef857610ef8610e6b565b604051601f8201601f19908116603f01168101908382118183101715610f2057610f20610e6b565b816040528281528a6020848701011115610f3957600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610f7057600080fd5b610f7983610d92565b9150610f8760208401610d92565b90509250929050565b600181811c90821680610fa457607f821691505b602082108103610fc457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351611029818460208801610d16565b83519083019061103d818360208801610d16565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561024b5761024b6110dd565b8082018082111561024b5761024b6110dd565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061114c90830184610d3a565b9695505050505050565b60006020828403121561116857600080fd5b815161061981610ce356fea2646970667358221220f309eb6da676691f24967b4584d8fba26e671423aa52b81cb04b22e005d3ab9464736f6c63430008110033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x149D CODESIZE SUB DUP1 PUSH3 0x149D DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x11F JUMP JUMPDEST PUSH1 0x0 PUSH3 0x42 DUP4 DUP3 PUSH3 0x218 JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x51 DUP3 DUP3 PUSH3 0x218 JUMP JUMPDEST POP POP POP PUSH3 0x2E4 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x9F JUMPI PUSH3 0x9F PUSH3 0x5A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0xCA JUMPI PUSH3 0xCA PUSH3 0x5A JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x10B JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0xEC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP2 ADD SWAP1 SWAP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x14B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x159 DUP7 DUP4 DUP8 ADD PUSH3 0x70 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x17F DUP6 DUP3 DUP7 ADD PUSH3 0x70 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x19E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x1BF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x213 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x1EE JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x20F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1FA JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x234 JUMPI PUSH3 0x234 PUSH3 0x5A JUMP JUMPDEST PUSH3 0x24C DUP2 PUSH3 0x245 DUP5 SLOAD PUSH3 0x189 JUMP JUMPDEST DUP5 PUSH3 0x1C5 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x284 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x26B JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x20F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x2B5 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x294 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x2D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x11A9 DUP1 PUSH3 0x2F4 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x164 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE7 PUSH2 0xE2 CALLDATASIZE PUSH1 0x4 PUSH2 0xCF9 JUMP JUMPDEST PUSH2 0x1FF JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x104 PUSH2 0x251 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xD66 JUMP JUMPDEST PUSH2 0x124 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0xD79 JUMP JUMPDEST PUSH2 0x2E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0xDAE JUMP JUMPDEST PUSH2 0x30A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14F PUSH2 0x15F CALLDATASIZE PUSH1 0x4 PUSH2 0xDD8 JUMP JUMPDEST PUSH2 0x424 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0xDD8 JUMP JUMPDEST PUSH2 0x455 JUMP JUMPDEST PUSH2 0x124 PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0xD79 JUMP JUMPDEST PUSH2 0x470 JUMP JUMPDEST PUSH2 0x19D PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0xE14 JUMP JUMPDEST PUSH2 0x4D0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x104 PUSH2 0x556 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0xE2F JUMP JUMPDEST PUSH2 0x565 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0xE81 JUMP JUMPDEST PUSH2 0x574 JUMP JUMPDEST PUSH2 0x104 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0xD79 JUMP JUMPDEST PUSH2 0x5AC JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x1FA CALLDATASIZE PUSH1 0x4 PUSH2 0xF5D JUMP JUMPDEST PUSH2 0x620 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x230 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x24B JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x260 SWAP1 PUSH2 0xF90 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x28C SWAP1 PUSH2 0xF90 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2D9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2BC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EE DUP3 PUSH2 0x64E JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x315 DUP3 PUSH2 0x470 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x387 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3A3 JUMPI POP PUSH2 0x3A3 DUP2 CALLER PUSH2 0x620 JUMP JUMPDEST PUSH2 0x415 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37E JUMP JUMPDEST PUSH2 0x41F DUP4 DUP4 PUSH2 0x6B0 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x42E CALLER DUP3 PUSH2 0x71E JUMP JUMPDEST PUSH2 0x44A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0xFCA JUMP JUMPDEST PUSH2 0x41F DUP4 DUP4 DUP4 PUSH2 0x77D JUMP JUMPDEST PUSH2 0x41F DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x574 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x24B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x37E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x53A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37E JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x260 SWAP1 PUSH2 0xF90 JUMP JUMPDEST PUSH2 0x570 CALLER DUP4 DUP4 PUSH2 0x8EE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x57E CALLER DUP4 PUSH2 0x71E JUMP JUMPDEST PUSH2 0x59A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0xFCA JUMP JUMPDEST PUSH2 0x5A6 DUP5 DUP5 DUP5 DUP5 PUSH2 0x9BC JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5B7 DUP3 PUSH2 0x64E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5CE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x619 JUMP JUMPDEST DUP1 PUSH2 0x5F8 DUP5 PUSH2 0x9EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x609 SWAP3 SWAP2 SWAP1 PUSH2 0x1017 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x37E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6E5 DUP3 PUSH2 0x470 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x72A DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x751 JUMPI POP PUSH2 0x751 DUP2 DUP6 PUSH2 0x620 JUMP JUMPDEST DUP1 PUSH2 0x775 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x76A DUP5 PUSH2 0x2E3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x790 DUP3 PUSH2 0x470 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0x1046 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x818 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37E JUMP JUMPDEST PUSH2 0x825 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0xA82 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x838 DUP3 PUSH2 0x470 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x85E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0x1046 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x94F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x37E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9C7 DUP5 DUP5 DUP5 PUSH2 0x77D JUMP JUMPDEST PUSH2 0x9D3 DUP5 DUP5 DUP5 DUP5 PUSH2 0xB0A JUMP JUMPDEST PUSH2 0x5A6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0x108B JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x9FC DUP4 PUSH2 0xC0B JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA1C JUMPI PUSH2 0xA1C PUSH2 0xE6B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xA46 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xA50 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x5A6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0xAC8 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xAC2 SWAP1 DUP5 SWAP1 PUSH2 0x10F3 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO PUSH2 0x5A6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xAFF SWAP1 DUP5 SWAP1 PUSH2 0x1106 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xC00 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xB4E SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1119 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xB89 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xB86 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1156 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xBE6 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xBBC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xBDE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0x108B JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x775 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xC4A JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xC76 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xC94 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xCAC JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xCC0 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xCD2 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x24B JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x6AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x619 DUP2 PUSH2 0xCE3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xD31 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xD19 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xD52 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xD16 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x619 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xD3A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xDA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDCA DUP4 PUSH2 0xD92 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xDED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDF6 DUP5 PUSH2 0xD92 JUMP JUMPDEST SWAP3 POP PUSH2 0xE04 PUSH1 0x20 DUP6 ADD PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x619 DUP3 PUSH2 0xD92 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE4B DUP4 PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xE60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xE97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEA0 DUP6 PUSH2 0xD92 JUMP JUMPDEST SWAP4 POP PUSH2 0xEAE PUSH1 0x20 DUP7 ADD PUSH2 0xD92 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xED2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xEE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xEF8 JUMPI PUSH2 0xEF8 PUSH2 0xE6B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xF20 JUMPI PUSH2 0xF20 PUSH2 0xE6B JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0xF39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF79 DUP4 PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH2 0xF87 PUSH1 0x20 DUP5 ADD PUSH2 0xD92 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xFA4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xFC4 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1029 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xD16 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x103D DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xD16 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x24B JUMPI PUSH2 0x24B PUSH2 0x10DD JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x24B JUMPI PUSH2 0x24B PUSH2 0x10DD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x114C SWAP1 DUP4 ADD DUP5 PUSH2 0xD3A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1168 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x619 DUP2 PUSH2 0xCE3 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURN MULMOD 0xEB PUSH14 0xA676691F24967B4584D8FBA26E67 EQ 0x23 0xAA MSTORE 0xB8 SHR 0xB0 0x4B 0x22 0xE0 SDIV 0xD3 0xAB SWAP5 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", - "sourceMap": "628:16327:1:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:5;:13;1464:5;1456;:13;:::i;:::-;-1:-1:-1;1479:7:1;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;628:16327;;14:127:17;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:17;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:17;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:17:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:17;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:17;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:17;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:17;;;3992:26;3943:89;-1:-1:-1;;2747:1:17;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:17;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:17;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:17;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:17:o;:::-;628:16327:1;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_afterTokenTransfer_1056": { - "entryPoint": null, - "id": 1056, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_approve_889": { - "entryPoint": 1712, - "id": 889, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_baseURI_326": { - "entryPoint": null, - "id": 326, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_beforeTokenTransfer_1043": { - "entryPoint": 2690, - "id": 1043, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_checkOnERC721Received_997": { - "entryPoint": 2826, - "id": 997, - "parameterSlots": 4, - "returnSlots": 1 - }, - "@_exists_558": { - "entryPoint": null, - "id": 558, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_isApprovedOrOwner_592": { - "entryPoint": 1822, - "id": 592, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@_msgSender_2100": { - "entryPoint": null, - "id": 2100, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_ownerOf_540": { - "entryPoint": null, - "id": 540, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_requireMinted_935": { - "entryPoint": 1614, - "id": 935, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_safeTransfer_527": { - "entryPoint": 2492, - "id": 527, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_setApprovalForAll_921": { - "entryPoint": 2286, - "id": 921, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_transfer_865": { - "entryPoint": 1917, - "id": 865, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@approve_369": { - "entryPoint": 778, - "id": 369, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@balanceOf_230": { - "entryPoint": 1232, - "id": 230, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getApproved_387": { - "entryPoint": 739, - "id": 387, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@isApprovedForAll_422": { - "entryPoint": 1568, - "id": 422, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@isContract_1776": { - "entryPoint": null, - "id": 1776, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@log10_3097": { - "entryPoint": 3083, - "id": 3097, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@name_268": { - "entryPoint": 593, - "id": 268, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@ownerOf_258": { - "entryPoint": 1136, - "id": 258, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@safeTransferFrom_468": { - "entryPoint": 1109, - "id": 468, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@safeTransferFrom_498": { - "entryPoint": 1396, - "id": 498, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@setApprovalForAll_404": { - "entryPoint": 1381, - "id": 404, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@supportsInterface_206": { - "entryPoint": 511, - "id": 206, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@supportsInterface_2382": { - "entryPoint": null, - "id": 2382, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@symbol_278": { - "entryPoint": 1366, - "id": 278, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@toString_2242": { - "entryPoint": 2543, - "id": 2242, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@tokenURI_317": { - "entryPoint": 1452, - "id": 317, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@transferFrom_449": { - "entryPoint": 1060, - "id": 449, - "parameterSlots": 3, - "returnSlots": 0 - }, - "abi_decode_address": { - "entryPoint": 3474, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 3604, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address": { - "entryPoint": 3933, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_addresst_uint256": { - "entryPoint": 3544, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr": { - "entryPoint": 3713, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_addresst_bool": { - "entryPoint": 3631, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 3502, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_bytes4": { - "entryPoint": 3321, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes4_fromMemory": { - "entryPoint": 4438, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_uint256": { - "entryPoint": 3449, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_string": { - "entryPoint": 3386, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "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": { - "entryPoint": 4119, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "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": { - "entryPoint": 4377, - "id": null, - "parameterSlots": 5, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 3430, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 4042, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 4235, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 4166, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 4358, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_sub_t_uint256": { - "entryPoint": 4339, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "copy_memory_to_memory_with_cleanup": { - "entryPoint": 3350, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 3984, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 4317, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x12": { - "entryPoint": null, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 3691, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "validator_revert_bytes4": { - "entryPoint": 3299, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:10527:17", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:17", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "58:87:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "123:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "132:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "135:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "125:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "125:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "125:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "81:5:17" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "92:5:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "108:10:17", - "type": "", - "value": "0xffffffff" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "99:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "99:20:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "88:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "88:32:17" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "78:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "78:43:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "71:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "71:51:17" - }, - "nodeType": "YulIf", - "src": "68:71:17" - } - ] - }, - "name": "validator_revert_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "47:5:17", - "type": "" - } - ], - "src": "14:131:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "219:176:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "265:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "274:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "277:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "267:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "267:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "267:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "240:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "249:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "236:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "236:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "261:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "232:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "232:32:17" - }, - "nodeType": "YulIf", - "src": "229:52:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "290:36:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "316:9:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "303:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "303:23:17" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "294:5:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "359:5:17" - } - ], - "functionName": { - "name": "validator_revert_bytes4", - "nodeType": "YulIdentifier", - "src": "335:23:17" - }, - "nodeType": "YulFunctionCall", - "src": "335:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "335:30:17" - }, - { - "nodeType": "YulAssignment", - "src": "374:15:17", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "384:5:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "374:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "185:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "196:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "208:6:17", - "type": "" - } - ], - "src": "150:245:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "495:92:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "505:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "517:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "528:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "513:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "513:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "505:4:17" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "547:9:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "572:6:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "565:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "565:14:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "558:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "558:22:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "540:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "540:41:17" - }, - "nodeType": "YulExpressionStatement", - "src": "540:41:17" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "464:9:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "475:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "486:4:17", - "type": "" - } - ], - "src": "400:187:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "658:184:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "668:10:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "677:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "672:1:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "737:63:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "762:3:17" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "767:1:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "758:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "758:11:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "781:3:17" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "786:1:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "777:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "777:11:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "771:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "771:18:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "751:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "751:39:17" - }, - "nodeType": "YulExpressionStatement", - "src": "751:39:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "698:1:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "701:6:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "695:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "695:13:17" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "709:19:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "711:15:17", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "720:1:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "723:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "716:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "716:10:17" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "711:1:17" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "691:3:17", - "statements": [] - }, - "src": "687:113:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "820:3:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "825:6:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "816:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "816:16:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "834:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "809:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "809:27:17" - }, - "nodeType": "YulExpressionStatement", - "src": "809:27:17" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "636:3:17", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "641:3:17", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "646:6:17", - "type": "" - } - ], - "src": "592:250:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "897:221:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "907:26:17", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "927:5:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "921:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "921:12:17" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "911:6:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "949:3:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "954:6:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "942:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "942:19:17" - }, - "nodeType": "YulExpressionStatement", - "src": "942:19:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1009:5:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1016:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1005:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1005:16:17" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1027:3:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1032:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1023:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1023:14:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1039:6:17" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "970:34:17" - }, - "nodeType": "YulFunctionCall", - "src": "970:76:17" - }, - "nodeType": "YulExpressionStatement", - "src": "970:76:17" - }, - { - "nodeType": "YulAssignment", - "src": "1055:57:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1070:3:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1083:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1091:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1079:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1079:15:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1100:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1096:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1096:7:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1075:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1075:29:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1066:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1066:39:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1107:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1062:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1062:50:17" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1055:3:17" - } - ] - } - ] - }, - "name": "abi_encode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "874:5:17", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "881:3:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "889:3:17", - "type": "" - } - ], - "src": "847:271:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1244:99:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1261:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1272:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1254:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1254:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1254:21:17" - }, - { - "nodeType": "YulAssignment", - "src": "1284:53:17", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1310:6:17" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1322:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1333:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1318:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1318:18:17" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "1292:17:17" - }, - "nodeType": "YulFunctionCall", - "src": "1292:45:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1284:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1213:9:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1224:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1235:4:17", - "type": "" - } - ], - "src": "1123:220:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1418:110:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1464:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1473:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1476:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1466:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1466:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1466:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1439:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1448:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1435:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1435:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1460:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1431:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1431:32:17" - }, - "nodeType": "YulIf", - "src": "1428:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "1489:33:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1512:9:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1499:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "1499:23:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1489:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1384:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1395:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1407:6:17", - "type": "" - } - ], - "src": "1348:180:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1634:102:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1644:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1656:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1667:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1652:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1652:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1644:4:17" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1686:9:17" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1701:6:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1717:3:17", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1722:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1713:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1713:11:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1726:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1709:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1709:19:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1697:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1697:32:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1679:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1679:51:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1679:51:17" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1603:9:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1614:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1625:4:17", - "type": "" - } - ], - "src": "1533:203:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1790:124:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1800:29:17", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1822:6:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1809:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "1809:20:17" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1800:5:17" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1892:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1901:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1904:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1894:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1894:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1894:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1851:5:17" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1862:5:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1877:3:17", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1882:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1873:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1873:11:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1886:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1869:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1869:19:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1858:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1858:31:17" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1848:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1848:42:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1841:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1841:50:17" - }, - "nodeType": "YulIf", - "src": "1838:70:17" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1769:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1780:5:17", - "type": "" - } - ], - "src": "1741:173:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2006:167:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2052:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2061:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2064:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2054:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2054:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2054:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2027:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2036:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2023:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2023:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2048:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2019:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2019:32:17" - }, - "nodeType": "YulIf", - "src": "2016:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "2077:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2106:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2087:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "2087:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2077:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2125:42:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2152:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2163:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2148:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2148:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2135:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "2135:32:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2125:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1964:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1975:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1987:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1995:6:17", - "type": "" - } - ], - "src": "1919:254:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2282:224:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2328:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2337:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2340:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2330:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2330:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2330:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2303:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2312:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2299:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2299:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2324:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2295:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2295:32:17" - }, - "nodeType": "YulIf", - "src": "2292:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "2353:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2382:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2363:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "2363:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2353:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2401:48:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2434:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2445:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2430:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2430:18:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2411:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "2411:38:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2401:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2458:42:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2485:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2496:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2481:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2481:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2468:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "2468:32:17" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2458:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2232:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2243:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2255:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2263:6:17", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2271:6:17", - "type": "" - } - ], - "src": "2178:328:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2581:116:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2627:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2636:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2639:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2629:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2629:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2629:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2602:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2611:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2598:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2598:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2623:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2594:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2594:32:17" - }, - "nodeType": "YulIf", - "src": "2591:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "2652:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2681:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2662:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "2662:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2652:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2547:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2558:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2570:6:17", - "type": "" - } - ], - "src": "2511:186:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2803:76:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2813:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2825:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2836:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2821:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2821:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2813:4:17" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2855:9:17" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2866:6:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2848:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2848:25:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2848:25:17" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2772:9:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2783:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2794:4:17", - "type": "" - } - ], - "src": "2702:177:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2968:263:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3014:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3023:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3026:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3016:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3016:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3016:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2989:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2998:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2985:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2985:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3010:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2981:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2981:32:17" - }, - "nodeType": "YulIf", - "src": "2978:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "3039:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3068:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3049:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "3049:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3039:6:17" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3087:45:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3117:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3128:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3113:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3113:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3100:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "3100:32:17" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3091:5:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3185:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3194:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3197:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3187:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3187:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3187:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3154:5:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3175:5:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3168:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3168:13:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3161:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3161:21:17" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3151:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3151:32:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3144:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3144:40:17" - }, - "nodeType": "YulIf", - "src": "3141:60:17" - }, - { - "nodeType": "YulAssignment", - "src": "3210:15:17", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3220:5:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3210:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2926:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2937:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2949:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2957:6:17", - "type": "" - } - ], - "src": "2884:347:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3268:95:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3285:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3292:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3297:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3288:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3288:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3278:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3278:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3278:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3325:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3328:4:17", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3318:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3318:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3318:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3349:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3352:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3342:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3342:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3342:15:17" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "3236:127:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3498:1008:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3545:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3554:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3557:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3547:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3547:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3547:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3519:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3528:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3515:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3515:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3540:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3511:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3511:33:17" - }, - "nodeType": "YulIf", - "src": "3508:53:17" - }, - { - "nodeType": "YulAssignment", - "src": "3570:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3599:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3580:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "3580:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3570:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3618:48:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3651:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3662:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3647:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3647:18:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3628:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "3628:38:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3618:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3675:42:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3702:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3713:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3698:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3698:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3685:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "3685:32:17" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3675:6:17" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3726:46:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3757:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3768:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3753:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3753:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3740:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "3740:32:17" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3730:6:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3781:28:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3791:18:17", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3785:2:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3836:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3845:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3848:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3838:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3838:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3838:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3824:6:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3832:2:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3821:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3821:14:17" - }, - "nodeType": "YulIf", - "src": "3818:34:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3861:32:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3875:9:17" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3886:6:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3871:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3871:22:17" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "3865:2:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3941:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3950:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3953:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3943:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3943:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3943:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3920:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3924:4:17", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3916:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3916:13:17" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3931:7:17" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3912:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3912:27:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3905:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3905:35:17" - }, - "nodeType": "YulIf", - "src": "3902:55:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3966:26:17", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3989:2:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3976:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "3976:16:17" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "3970:2:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4015:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "4017:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "4017:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4017:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4007:2:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4011:2:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4004:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "4004:10:17" - }, - "nodeType": "YulIf", - "src": "4001:36:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4046:17:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4060:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4056:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4056:7:17" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "4050:2:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4072:23:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4092:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4086:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "4086:9:17" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "4076:6:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4104:71:17", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4126:6:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4150:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4154:4:17", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4146:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4146:13:17" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "4161:2:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4142:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4142:22:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4166:2:17", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4138:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4138:31:17" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "4171:2:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4134:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4134:40:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4122:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4122:53:17" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "4108:10:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4234:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "4236:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "4236:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4236:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "4193:10:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4205:2:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4190:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "4190:18:17" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "4213:10:17" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4225:6:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4210:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "4210:22:17" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "4187:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "4187:46:17" - }, - "nodeType": "YulIf", - "src": "4184:72:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4272:2:17", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "4276:10:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4265:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4265:22:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4265:22:17" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4303:6:17" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4311:2:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4296:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4296:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4296:18:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4360:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4369:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4372:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4362:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4362:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4362:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4337:2:17" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4341:2:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4333:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4333:11:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4346:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4329:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4329:20:17" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4351:7:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4326:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "4326:33:17" - }, - "nodeType": "YulIf", - "src": "4323:53:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4402:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4410:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4398:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4398:15:17" - }, - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "4419:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4423:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4415:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4415:11:17" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4428:2:17" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "4385:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "4385:46:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4385:46:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4455:6:17" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4463:2:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4451:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4451:15:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4468:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4447:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4447:24:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4473:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4440:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4440:35:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4440:35:17" - }, - { - "nodeType": "YulAssignment", - "src": "4484:16:17", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "4494:6:17" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4484:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3440:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3451:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3463:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3471:6:17", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3479:6:17", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3487:6:17", - "type": "" - } - ], - "src": "3368:1138:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4598:173:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4644:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4653:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4656:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4646:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4646:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4646:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4619:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4628:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4615:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4615:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4640:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4611:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4611:32:17" - }, - "nodeType": "YulIf", - "src": "4608:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "4669:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4698:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "4679:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "4679:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4669:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4717:48:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4750:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4761:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4746:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4746:18:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "4727:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "4727:38:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4717:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4556:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4567:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4579:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4587:6:17", - "type": "" - } - ], - "src": "4511:260:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4831:325:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4841:22:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4855:1:17", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "4858:4:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "4851:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4851:12:17" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4841:6:17" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4872:38:17", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "4902:4:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4908:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4898:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4898:12:17" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "4876:18:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4949:31:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4951:27:17", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4965:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4973:4:17", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4961:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4961:17:17" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4951:6:17" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "4929:18:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4922:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4922:26:17" - }, - "nodeType": "YulIf", - "src": "4919:61:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5039:111:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5060:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5067:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5072:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "5063:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5063:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5053:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5053:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5053:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5104:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5107:4:17", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5097:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5097:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5097:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5132:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5135:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5125:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5125:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5125:15:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "4995:18:17" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5018:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5026:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5015:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "5015:14:17" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "4992:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "4992:38:17" - }, - "nodeType": "YulIf", - "src": "4989:161:17" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "4811:4:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "4820:6:17", - "type": "" - } - ], - "src": "4776:380:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5335:223:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5352:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5363:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5345:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5345:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5345:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5386:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5397:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5382:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5382:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5402:2:17", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5375:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5375:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5375:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5425:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5436:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5421:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5421:18:17" - }, - { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5441:34:17", - "type": "", - "value": "ERC721: approval to current owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5414:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5414:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5414:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5496:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5507:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5492:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5492:18:17" - }, - { - "hexValue": "72", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5512:3:17", - "type": "", - "value": "r" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5485:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5485:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5485:31:17" - }, - { - "nodeType": "YulAssignment", - "src": "5525:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5537:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5548:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5533:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5533:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5525:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5312:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5326:4:17", - "type": "" - } - ], - "src": "5161:397:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5737:251:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5754:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5765:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5747:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5747:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5747:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5788:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5799:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5784:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5784:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5804:2:17", - "type": "", - "value": "61" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5777:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5777:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5777:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5827:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5838:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5823:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5823:18:17" - }, - { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5843:34:17", - "type": "", - "value": "ERC721: approve caller is not to" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5816:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5816:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5816:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5898:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5909:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5894:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5894:18:17" - }, - { - "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5914:31:17", - "type": "", - "value": "ken owner or approved for all" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5887:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5887:59:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5887:59:17" - }, - { - "nodeType": "YulAssignment", - "src": "5955:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5967:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5978:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5963:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5963:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5955:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5714:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5728:4:17", - "type": "" - } - ], - "src": "5563:425:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6167:235:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6184:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6195:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6177:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6177:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6177:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6218:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6229:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6214:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6214:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6234:2:17", - "type": "", - "value": "45" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6207:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6207:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6207:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6257:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6268:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6253:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6253:18:17" - }, - { - "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6273:34:17", - "type": "", - "value": "ERC721: caller is not token owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6246:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6246:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6246:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6328:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6339:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6324:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6324:18:17" - }, - { - "hexValue": "72206f7220617070726f766564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6344:15:17", - "type": "", - "value": "r or approved" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6317:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6317:43:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6317:43:17" - }, - { - "nodeType": "YulAssignment", - "src": "6369:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6381:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6392:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6377:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6377:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6369:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6144:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6158:4:17", - "type": "" - } - ], - "src": "5993:409:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6581:174:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6598:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6609:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6591:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6591:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6591:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6632:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6643:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6628:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6628:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6648:2:17", - "type": "", - "value": "24" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6621:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6621:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6621:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6671:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6682:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6667:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6667:18:17" - }, - { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6687:26:17", - "type": "", - "value": "ERC721: invalid token ID" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6660:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6660:54:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6660:54:17" - }, - { - "nodeType": "YulAssignment", - "src": "6723:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6735:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6746:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6731:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6731:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6723:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6558:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6572:4:17", - "type": "" - } - ], - "src": "6407:348:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6934:231:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6951:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6962:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6944:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6944:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6944:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6985:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6996:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6981:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6981:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7001:2:17", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6974:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6974:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6974:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7024:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7035:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7020:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7020:18:17" - }, - { - "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7040:34:17", - "type": "", - "value": "ERC721: address zero is not a va" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7013:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7013:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7013:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7095:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7106:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7091:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7091:18:17" - }, - { - "hexValue": "6c6964206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7111:11:17", - "type": "", - "value": "lid owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7084:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7084:39:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7084:39:17" - }, - { - "nodeType": "YulAssignment", - "src": "7132:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7144:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7155:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7140:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7140:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7132:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6911:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6925:4:17", - "type": "" - } - ], - "src": "6760:405:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7357:309:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7367:27:17", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7387:6:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7381:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "7381:13:17" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7371:6:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7442:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7450:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7438:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7438:17:17" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7457:3:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7462:6:17" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "7403:34:17" - }, - "nodeType": "YulFunctionCall", - "src": "7403:66:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7403:66:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7478:29:17", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7495:3:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7500:6:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7491:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7491:16:17" - }, - "variables": [ - { - "name": "end_1", - "nodeType": "YulTypedName", - "src": "7482:5:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7516:29:17", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7538:6:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7532:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "7532:13:17" - }, - "variables": [ - { - "name": "length_1", - "nodeType": "YulTypedName", - "src": "7520:8:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7593:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7601:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7589:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7589:17:17" - }, - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "7608:5:17" - }, - { - "name": "length_1", - "nodeType": "YulIdentifier", - "src": "7615:8:17" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "7554:34:17" - }, - "nodeType": "YulFunctionCall", - "src": "7554:70:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7554:70:17" - }, - { - "nodeType": "YulAssignment", - "src": "7633:27:17", - "value": { - "arguments": [ - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "7644:5:17" - }, - { - "name": "length_1", - "nodeType": "YulIdentifier", - "src": "7651:8:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7640:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7640:20:17" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7633:3:17" - } - ] - } - ] - }, - "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": "7325:3:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7330:6:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7338:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7349:3:17", - "type": "" - } - ], - "src": "7170:496:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7845:227:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7862:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7873:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7855:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7855:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7855:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7896:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7907:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7892:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7892:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7912:2:17", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7885:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7885:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7885:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7935:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7946:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7931:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7931:18:17" - }, - { - "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7951:34:17", - "type": "", - "value": "ERC721: transfer from incorrect " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7924:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7924:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7924:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8006:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8017:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8002:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8002:18:17" - }, - { - "hexValue": "6f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8022:7:17", - "type": "", - "value": "owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7995:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7995:35:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7995:35:17" - }, - { - "nodeType": "YulAssignment", - "src": "8039:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8051:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8062:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8047:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8047:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8039:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7822:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7836:4:17", - "type": "" - } - ], - "src": "7671:401:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8251:226:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8268:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8279:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8261:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8261:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8261:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8302:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8313:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8298:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8298:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8318:2:17", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8291:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8291:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8291:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8341:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8352:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8337:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8337:18:17" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8357:34:17", - "type": "", - "value": "ERC721: transfer to the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8330:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8330:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8330:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8412:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8423:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8408:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8408:18:17" - }, - { - "hexValue": "72657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8428:6:17", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8401:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8401:34:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8401:34:17" - }, - { - "nodeType": "YulAssignment", - "src": "8444:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8456:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8467:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8452:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8452:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8444:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8228:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8242:4:17", - "type": "" - } - ], - "src": "8077:400:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8656:175:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8673:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8684:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8666:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8666:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8666:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8707:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8718:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8703:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8703:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8723:2:17", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8696:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8696:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8696:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8746:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8757:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8742:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8742:18:17" - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8762:27:17", - "type": "", - "value": "ERC721: approve to caller" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8735:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8735:55:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8735:55:17" - }, - { - "nodeType": "YulAssignment", - "src": "8799:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8811:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8822:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8807:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8807:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8799:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8633:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8647:4:17", - "type": "" - } - ], - "src": "8482:349:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9010:240:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9027:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9038:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9020:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9020:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9020:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9061:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9072:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9057:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9057:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9077:2:17", - "type": "", - "value": "50" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9050:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9050:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9050:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9100:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9111:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9096:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9096:18:17" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9116:34:17", - "type": "", - "value": "ERC721: transfer to non ERC721Re" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9089:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9089:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9089:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9171:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9182:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9167:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9167:18:17" - }, - { - "hexValue": "63656976657220696d706c656d656e746572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9187:20:17", - "type": "", - "value": "ceiver implementer" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9160:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9160:48:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9160:48:17" - }, - { - "nodeType": "YulAssignment", - "src": "9217:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9229:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9240:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9225:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9225:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9217:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8987:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9001:4:17", - "type": "" - } - ], - "src": "8836:414:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9287:95:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9304:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9311:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9316:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "9307:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9307:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9297:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9297:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9297:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9344:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9347:4:17", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9337:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9337:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9337:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9368:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9371:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9361:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9361:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9361:15:17" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "9255:127:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9419:95:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9436:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9443:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9448:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "9439:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9439:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9429:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9429:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9429:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9476:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9479:4:17", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9469:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9469:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9469:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9500:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9503:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9493:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9493:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9493:15:17" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "9387:127:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9568:79:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9578:17:17", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "9590:1:17" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "9593:1:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9586:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9586:9:17" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "9578:4:17" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9619:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9621:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "9621:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9621:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "9610:4:17" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "9616:1:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9607:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "9607:11:17" - }, - "nodeType": "YulIf", - "src": "9604:37:17" - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "9550:1:17", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "9553:1:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "9559:4:17", - "type": "" - } - ], - "src": "9519:128:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9700:77:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9710:16:17", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "9721:1:17" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "9724:1:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9717:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9717:9:17" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "9710:3:17" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9749:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "9751:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "9751:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9751:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "9741:1:17" - }, - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "9744:3:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9738:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "9738:10:17" - }, - "nodeType": "YulIf", - "src": "9735:36:17" - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "9683:1:17", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "9686:1:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "9692:3:17", - "type": "" - } - ], - "src": "9652:125:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9985:286:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9995:29:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10013:3:17", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10018:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "10009:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10009:11:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10022:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10005:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10005:19:17" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "9999:2:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10040:9:17" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10055:6:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10063:2:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10051:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10051:15:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10033:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10033:34:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10033:34:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10087:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10098:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10083:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10083:18:17" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10107:6:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10115:2:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10103:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10103:15:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10076:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10076:43:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10076:43:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10139:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10150:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10135:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10135:18:17" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "10155:6:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10128:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10128:34:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10128:34:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10182:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10193:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10178:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10178:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10198:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10171:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10171:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10171:31:17" - }, - { - "nodeType": "YulAssignment", - "src": "10211:54:17", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "10237:6:17" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10249:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10260:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10245:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10245:19:17" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "10219:17:17" - }, - "nodeType": "YulFunctionCall", - "src": "10219:46:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10211:4:17" - } - ] - } - ] - }, - "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": "9930:9:17", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "9941:6:17", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9949:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9957:6:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9965:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9976:4:17", - "type": "" - } - ], - "src": "9782:489:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10356:169:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10402:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10411:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10414:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10404:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10404:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10404:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10377:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10386:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10373:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10373:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10398:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "10369:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10369:32:17" - }, - "nodeType": "YulIf", - "src": "10366:52:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10427:29:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10446:9:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "10440:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "10440:16:17" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "10431:5:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "10489:5:17" - } - ], - "functionName": { - "name": "validator_revert_bytes4", - "nodeType": "YulIdentifier", - "src": "10465:23:17" - }, - "nodeType": "YulFunctionCall", - "src": "10465:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10465:30:17" - }, - { - "nodeType": "YulAssignment", - "src": "10504:15:17", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "10514:5:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10504:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10322:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "10333:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10345:6:17", - "type": "" - } - ], - "src": "10276:249:17" - } - ] - }, - "contents": "{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value3 := memPtr\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n}", - "id": 17, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610cf9565b6101ff565b60405190151581526020015b60405180910390f35b610104610251565b6040516100f39190610d66565b61012461011f366004610d79565b6102e3565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610dae565b61030a565b005b61014f61015f366004610dd8565b610424565b61014f610172366004610dd8565b610455565b610124610185366004610d79565b610470565b61019d610198366004610e14565b6104d0565b6040519081526020016100f3565b610104610556565b61014f6101c1366004610e2f565b610565565b61014f6101d4366004610e81565b610574565b6101046101e7366004610d79565b6105ac565b6100e76101fa366004610f5d565b610620565b60006001600160e01b031982166380ac58cd60e01b148061023057506001600160e01b03198216635b5e139f60e01b145b8061024b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461026090610f90565b80601f016020809104026020016040519081016040528092919081815260200182805461028c90610f90565b80156102d95780601f106102ae576101008083540402835291602001916102d9565b820191906000526020600020905b8154815290600101906020018083116102bc57829003601f168201915b5050505050905090565b60006102ee8261064e565b506000908152600460205260409020546001600160a01b031690565b600061031582610470565b9050806001600160a01b0316836001600160a01b0316036103875760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103a357506103a38133610620565b6104155760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161037e565b61041f83836106b0565b505050565b61042e338261071e565b61044a5760405162461bcd60e51b815260040161037e90610fca565b61041f83838361077d565b61041f83838360405180602001604052806000815250610574565b6000818152600260205260408120546001600160a01b03168061024b5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161037e565b60006001600160a01b03821661053a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161037e565b506001600160a01b031660009081526003602052604090205490565b60606001805461026090610f90565b6105703383836108ee565b5050565b61057e338361071e565b61059a5760405162461bcd60e51b815260040161037e90610fca565b6105a6848484846109bc565b50505050565b60606105b78261064e565b60006105ce60408051602081019091526000815290565b905060008151116105ee5760405180602001604052806000815250610619565b806105f8846109ef565b604051602001610609929190611017565b6040516020818303038152906040525b9392505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000818152600260205260409020546001600160a01b03166106ad5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161037e565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e582610470565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072a83610470565b9050806001600160a01b0316846001600160a01b0316148061075157506107518185610620565b806107755750836001600160a01b031661076a846102e3565b6001600160a01b0316145b949350505050565b826001600160a01b031661079082610470565b6001600160a01b0316146107b65760405162461bcd60e51b815260040161037e90611046565b6001600160a01b0382166108185760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161037e565b6108258383836001610a82565b826001600160a01b031661083882610470565b6001600160a01b03161461085e5760405162461bcd60e51b815260040161037e90611046565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361094f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161037e565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109c784848461077d565b6109d384848484610b0a565b6105a65760405162461bcd60e51b815260040161037e9061108b565b606060006109fc83610c0b565b600101905060008167ffffffffffffffff811115610a1c57610a1c610e6b565b6040519080825280601f01601f191660200182016040528015610a46576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5057509392505050565b60018111156105a6576001600160a01b03841615610ac8576001600160a01b03841660009081526003602052604081208054839290610ac29084906110f3565b90915550505b6001600160a01b038316156105a6576001600160a01b03831660009081526003602052604081208054839290610aff908490611106565b909155505050505050565b60006001600160a01b0384163b15610c0057604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610b4e903390899088908890600401611119565b6020604051808303816000875af1925050508015610b89575060408051601f3d908101601f19168201909252610b8691810190611156565b60015b610be6573d808015610bb7576040519150601f19603f3d011682016040523d82523d6000602084013e610bbc565b606091505b508051600003610bde5760405162461bcd60e51b815260040161037e9061108b565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610775565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610c4a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610c76576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c9457662386f26fc10000830492506010015b6305f5e1008310610cac576305f5e100830492506008015b6127108310610cc057612710830492506004015b60648310610cd2576064830492506002015b600a831061024b5760010192915050565b6001600160e01b0319811681146106ad57600080fd5b600060208284031215610d0b57600080fd5b813561061981610ce3565b60005b83811015610d31578181015183820152602001610d19565b50506000910152565b60008151808452610d52816020860160208601610d16565b601f01601f19169290920160200192915050565b6020815260006106196020830184610d3a565b600060208284031215610d8b57600080fd5b5035919050565b80356001600160a01b0381168114610da957600080fd5b919050565b60008060408385031215610dc157600080fd5b610dca83610d92565b946020939093013593505050565b600080600060608486031215610ded57600080fd5b610df684610d92565b9250610e0460208501610d92565b9150604084013590509250925092565b600060208284031215610e2657600080fd5b61061982610d92565b60008060408385031215610e4257600080fd5b610e4b83610d92565b915060208301358015158114610e6057600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e9757600080fd5b610ea085610d92565b9350610eae60208601610d92565b925060408501359150606085013567ffffffffffffffff80821115610ed257600080fd5b818701915087601f830112610ee657600080fd5b813581811115610ef857610ef8610e6b565b604051601f8201601f19908116603f01168101908382118183101715610f2057610f20610e6b565b816040528281528a6020848701011115610f3957600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610f7057600080fd5b610f7983610d92565b9150610f8760208401610d92565b90509250929050565b600181811c90821680610fa457607f821691505b602082108103610fc457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351611029818460208801610d16565b83519083019061103d818360208801610d16565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561024b5761024b6110dd565b8082018082111561024b5761024b6110dd565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061114c90830184610d3a565b9695505050505050565b60006020828403121561116857600080fd5b815161061981610ce356fea2646970667358221220f309eb6da676691f24967b4584d8fba26e671423aa52b81cb04b22e005d3ab9464736f6c63430008110033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x164 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE7 PUSH2 0xE2 CALLDATASIZE PUSH1 0x4 PUSH2 0xCF9 JUMP JUMPDEST PUSH2 0x1FF JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x104 PUSH2 0x251 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xD66 JUMP JUMPDEST PUSH2 0x124 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0xD79 JUMP JUMPDEST PUSH2 0x2E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0xDAE JUMP JUMPDEST PUSH2 0x30A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14F PUSH2 0x15F CALLDATASIZE PUSH1 0x4 PUSH2 0xDD8 JUMP JUMPDEST PUSH2 0x424 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0xDD8 JUMP JUMPDEST PUSH2 0x455 JUMP JUMPDEST PUSH2 0x124 PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0xD79 JUMP JUMPDEST PUSH2 0x470 JUMP JUMPDEST PUSH2 0x19D PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0xE14 JUMP JUMPDEST PUSH2 0x4D0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x104 PUSH2 0x556 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0xE2F JUMP JUMPDEST PUSH2 0x565 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0xE81 JUMP JUMPDEST PUSH2 0x574 JUMP JUMPDEST PUSH2 0x104 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0xD79 JUMP JUMPDEST PUSH2 0x5AC JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x1FA CALLDATASIZE PUSH1 0x4 PUSH2 0xF5D JUMP JUMPDEST PUSH2 0x620 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x230 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x24B JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x260 SWAP1 PUSH2 0xF90 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x28C SWAP1 PUSH2 0xF90 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2D9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2D9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2BC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2EE DUP3 PUSH2 0x64E JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x315 DUP3 PUSH2 0x470 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x387 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3A3 JUMPI POP PUSH2 0x3A3 DUP2 CALLER PUSH2 0x620 JUMP JUMPDEST PUSH2 0x415 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37E JUMP JUMPDEST PUSH2 0x41F DUP4 DUP4 PUSH2 0x6B0 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x42E CALLER DUP3 PUSH2 0x71E JUMP JUMPDEST PUSH2 0x44A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0xFCA JUMP JUMPDEST PUSH2 0x41F DUP4 DUP4 DUP4 PUSH2 0x77D JUMP JUMPDEST PUSH2 0x41F DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x574 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x24B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x37E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x53A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37E JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x260 SWAP1 PUSH2 0xF90 JUMP JUMPDEST PUSH2 0x570 CALLER DUP4 DUP4 PUSH2 0x8EE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x57E CALLER DUP4 PUSH2 0x71E JUMP JUMPDEST PUSH2 0x59A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0xFCA JUMP JUMPDEST PUSH2 0x5A6 DUP5 DUP5 DUP5 DUP5 PUSH2 0x9BC JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5B7 DUP3 PUSH2 0x64E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5CE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x619 JUMP JUMPDEST DUP1 PUSH2 0x5F8 DUP5 PUSH2 0x9EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x609 SWAP3 SWAP2 SWAP1 PUSH2 0x1017 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x37E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6E5 DUP3 PUSH2 0x470 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x72A DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x751 JUMPI POP PUSH2 0x751 DUP2 DUP6 PUSH2 0x620 JUMP JUMPDEST DUP1 PUSH2 0x775 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x76A DUP5 PUSH2 0x2E3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x790 DUP3 PUSH2 0x470 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0x1046 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x818 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x37E JUMP JUMPDEST PUSH2 0x825 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0xA82 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x838 DUP3 PUSH2 0x470 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x85E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0x1046 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x94F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x37E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9C7 DUP5 DUP5 DUP5 PUSH2 0x77D JUMP JUMPDEST PUSH2 0x9D3 DUP5 DUP5 DUP5 DUP5 PUSH2 0xB0A JUMP JUMPDEST PUSH2 0x5A6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0x108B JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x9FC DUP4 PUSH2 0xC0B JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA1C JUMPI PUSH2 0xA1C PUSH2 0xE6B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xA46 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xA50 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x5A6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0xAC8 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xAC2 SWAP1 DUP5 SWAP1 PUSH2 0x10F3 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO PUSH2 0x5A6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xAFF SWAP1 DUP5 SWAP1 PUSH2 0x1106 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xC00 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xB4E SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1119 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xB89 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xB86 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1156 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xBE6 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xBBC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xBDE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x37E SWAP1 PUSH2 0x108B JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x775 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xC4A JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xC76 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xC94 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xCAC JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xCC0 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xCD2 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x24B JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x6AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x619 DUP2 PUSH2 0xCE3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xD31 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xD19 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xD52 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xD16 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x619 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xD3A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xDA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDCA DUP4 PUSH2 0xD92 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xDED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDF6 DUP5 PUSH2 0xD92 JUMP JUMPDEST SWAP3 POP PUSH2 0xE04 PUSH1 0x20 DUP6 ADD PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x619 DUP3 PUSH2 0xD92 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE4B DUP4 PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xE60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xE97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEA0 DUP6 PUSH2 0xD92 JUMP JUMPDEST SWAP4 POP PUSH2 0xEAE PUSH1 0x20 DUP7 ADD PUSH2 0xD92 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xED2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xEE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xEF8 JUMPI PUSH2 0xEF8 PUSH2 0xE6B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xF20 JUMPI PUSH2 0xF20 PUSH2 0xE6B JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0xF39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF79 DUP4 PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH2 0xF87 PUSH1 0x20 DUP5 ADD PUSH2 0xD92 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xFA4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xFC4 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1029 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xD16 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x103D DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xD16 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x24B JUMPI PUSH2 0x24B PUSH2 0x10DD JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x24B JUMPI PUSH2 0x24B PUSH2 0x10DD JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x114C SWAP1 DUP4 ADD DUP5 PUSH2 0xD3A JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1168 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x619 DUP2 PUSH2 0xCE3 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURN MULMOD 0xEB PUSH14 0xA676691F24967B4584D8FBA26E67 EQ 0x23 0xAA MSTORE 0xB8 SHR 0xB0 0x4B 0x22 0xE0 SDIV 0xD3 0xAB SWAP5 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", - "sourceMap": "628:16327:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;:::i;:::-;;:::i;:::-;;;565:14:17;;558:22;540:41;;528:2;513:18;1570:300:1;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:17;;;1679:51;;1667:2;1652:18;3935:167:1;1533:203:17;3468:406:1;;;;;;:::i;:::-;;:::i;:::-;;4612:326;;;;;;:::i;:::-;;:::i;5004:179::-;;;;;;:::i;:::-;;:::i;2190:219::-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:17;;;2836:2;2821:18;1929:204:1;2702:177:17;2633:102:1;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5249:314::-;;;;;;:::i;:::-;;:::i;2801:276::-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;;:::i;1570:300::-;1672:4;-1:-1:-1;;;;;;1707:40:1;;-1:-1:-1;;;1707:40:1;;:104;;-1:-1:-1;;;;;;;1763:48:1;;-1:-1:-1;;;1763:48:1;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:13;;;1827:36:1;1688:175;1570:300;-1:-1:-1;;1570:300:1: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;:::-;-1:-1:-1;4071:24:1;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:1;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:1;:2;-1:-1:-1;;;;;3605:11:1;;3597:57;;;;-1:-1:-1;;;3597:57:1;;5363:2:17;3597:57:1;;;5345:21:17;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:17;;;5485:31;5533:19;;3597:57:1;;;;;;;;;719:10:10;-1:-1:-1;;;;;3686:21:1;;;;:62;;-1:-1:-1;3711:37:1;3728:5;719:10:10;4388:162:1;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:1;;5765:2:17;3665:170:1;;;5747:21:17;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:1;5563:425:17;3665:170:1;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:326::-;4801:41;719:10:10;4834:7:1;4801:18;:41::i;:::-;4793:99;;;;-1:-1:-1;;;4793:99:1;;;;;;;:::i;:::-;4903:28;4913:4;4919:2;4923:7;4903:9;:28::i;5004:179::-;5137:39;5154:4;5160:2;5164:7;5137:39;;;;;;;;;;;;:16;:39::i;2190:219::-;2262:7;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;;2324:56;;;;-1:-1:-1;;;2324:56:1;;6609:2:17;2324:56:1;;;6591:21:17;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:17;;;6660:54;6731:18;;2324:56:1;6407:348:17;1929:204:1;2001:7;-1:-1:-1;;;;;2028:19:1;;2020:73;;;;-1:-1:-1;;;2020:73:1;;6962:2:17;2020:73:1;;;6944:21:17;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:17;;;7084:39;7140:19;;2020:73:1;6760:405:17;2020:73:1;-1:-1:-1;;;;;;2110:16:1;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:10;4296:8:1;4306;4263:18;:52::i;:::-;4169:153;;:::o;5249:314::-;5417:41;719:10:10;5450:7:1;5417:18;:41::i;:::-;5409:99;;;;-1:-1:-1;;;5409:99:1;;;;;;;:::i;:::-;5518:38;5532:4;5538:2;5542:7;5551:4;5518:13;:38::i;:::-;5249:314;;;;:::o;2801:276::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:1;;;3319:92;2957:10;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;-1:-1:-1;;;2801:276:1:o;4388:162::-;-1:-1:-1;;;;;4508:25:1;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162::o;13466:133::-;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;13539:53;;;;-1:-1:-1;;;13539:53:1;;6609:2:17;13539:53:1;;;6591:21:17;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:17;;;6660:54;6731:18;;13539:53:1;6407:348:17;13539:53:1;13466:133;:::o;12768:171::-;12842:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12842:29:1;-1:-1:-1;;;;;12842:29:1;;;;;;;;:24;;12895:23;12842:24;12895:14;:23::i;:::-;-1:-1:-1;;;;;12886:46:1;;;;;;;;;;;12768:171;;:::o;7540:261::-;7633:4;7649:13;7665:23;7680:7;7665:14;:23::i;:::-;7649:39;;7717:5;-1:-1:-1;;;;;7706:16:1;:7;-1:-1:-1;;;;;7706:16:1;;:52;;;;7726:32;7743:5;7750:7;7726:16;:32::i;:::-;7706:87;;;;7786:7;-1:-1:-1;;;;;7762:31:1;:20;7774:7;7762:11;:20::i;:::-;-1:-1:-1;;;;;7762:31:1;;7706:87;7698:96;7540:261;-1:-1:-1;;;;7540:261:1:o;11423:1233::-;11577:4;-1:-1:-1;;;;;11550:31:1;:23;11565:7;11550:14;:23::i;:::-;-1:-1:-1;;;;;11550:31:1;;11542:81;;;;-1:-1:-1;;;11542:81:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;11641:16:1;;11633:65;;;;-1:-1:-1;;;11633:65:1;;8279:2:17;11633:65:1;;;8261:21:17;8318:2;8298:18;;;8291:30;8357:34;8337:18;;;8330:62;-1:-1:-1;;;8408:18:17;;;8401:34;8452:19;;11633:65:1;8077:400:17;11633:65:1;11709:42;11730:4;11736:2;11740:7;11749:1;11709:20;:42::i;:::-;11878:4;-1:-1:-1;;;;;11851:31:1;:23;11866:7;11851:14;:23::i;:::-;-1:-1:-1;;;;;11851:31:1;;11843:81;;;;-1:-1:-1;;;11843:81:1;;;;;;;:::i;:::-;11993:24;;;;:15;:24;;;;;;;;11986:31;;-1:-1:-1;;;;;;11986:31:1;;;;;;-1:-1:-1;;;;;12461:15:1;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12461:20:1;;;12495:13;;;;;;;;;:18;;11986:31;12495:18;;;12533:16;;;:7;:16;;;;;;:21;;;;;;;;;;12570:27;;12009:7;;12570:27;;;3538:336;3468:406;;:::o;13075:307::-;13225:8;-1:-1:-1;;;;;13216:17:1;:5;-1:-1:-1;;;;;13216:17:1;;13208:55;;;;-1:-1:-1;;;13208:55:1;;8684:2:17;13208:55:1;;;8666:21:17;8723:2;8703:18;;;8696:30;8762:27;8742:18;;;8735:55;8807:18;;13208:55:1;8482:349:17;13208:55:1;-1:-1:-1;;;;;13273:25:1;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13273:46:1;;;;;;;;;;13334:41;;540::17;;;13334::1;;513:18:17;13334:41:1;;;;;;;13075:307;;;:::o;6424:305::-;6574:28;6584:4;6590:2;6594:7;6574:9;:28::i;:::-;6620:47;6643:4;6649:2;6653:7;6662:4;6620:22;:47::i;:::-;6612:110;;;;-1:-1:-1;;;6612:110:1;;;;;;;:::i;415:696:12:-;471:13;520:14;537:17;548:5;537:10;:17::i;:::-;557:1;537:21;520:38;;572:20;606:6;595:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;595:18:12;-1:-1:-1;572:41:12;-1:-1:-1;733:28:12;;;749:2;733:28;788:280;-1:-1:-1;;819:5:12;-1:-1:-1;;;953:2:12;942:14;;937:30;819:5;924:44;1012:2;1003:11;;;-1:-1:-1;1032:21:12;788:280;1032:21;-1:-1:-1;1088:6:12;415:696;-1:-1:-1;;;415:696:12:o;15698:396:1:-;15882:1;15870:9;:13;15866:222;;;-1:-1:-1;;;;;15903:18:1;;;15899:85;;-1:-1:-1;;;;;15941:15:1;;;;;;:9;:15;;;;;:28;;15960:9;;15941:15;:28;;15960:9;;15941:28;:::i;:::-;;;;-1:-1:-1;;15899:85:1;-1:-1:-1;;;;;16001:16:1;;;15997:81;;-1:-1:-1;;;;;16037:13:1;;;;;;:9;:13;;;;;:26;;16054:9;;16037:13;:26;;16054:9;;16037:26;:::i;:::-;;;;-1:-1:-1;;15698:396:1;;;;:::o;14151:831::-;14300:4;-1:-1:-1;;;;;14320:13:1;;1465:19:9;:23;14316:660:1;;14355:71;;-1:-1:-1;;;14355:71:1;;-1:-1:-1;;;;;14355:36:1;;;;;:71;;719:10:10;;14406:4:1;;14412:7;;14421:4;;14355:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14355:71:1;;;;;;;;-1:-1:-1;;14355:71:1;;;;;;;;;;;;:::i;:::-;;;14351:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14593:6;:13;14610:1;14593:18;14589:321;;14635:60;;-1:-1:-1;;;14635:60:1;;;;;;;:::i;14589:321::-;14862:6;14856:13;14847:6;14843:2;14839:15;14832:38;14351:573;-1:-1:-1;;;;;;14476:51:1;-1:-1:-1;;;14476:51:1;;-1:-1:-1;14469:58:1;;14316:660;-1:-1:-1;14961:4:1;14151:831;;;;;;:::o;9889:890:15:-;9942:7;;-1:-1:-1;;;10017:15:15;;10013:99;;-1:-1:-1;;;10052:15:15;;;-1:-1:-1;10095:2:15;10085:12;10013:99;10138:6;10129:5;:15;10125:99;;10173:6;10164:15;;;-1:-1:-1;10207:2:15;10197:12;10125:99;10250:6;10241:5;:15;10237:99;;10285:6;10276:15;;;-1:-1:-1;10319:2:15;10309:12;10237:99;10362:5;10353;:14;10349:96;;10396:5;10387:14;;;-1:-1:-1;10429:1:15;10419:11;10349:96;10471:5;10462;:14;10458:96;;10505:5;10496:14;;;-1:-1:-1;10538:1:15;10528:11;10458:96;10580:5;10571;:14;10567:96;;10614:5;10605:14;;;-1:-1:-1;10647:1:15;10637:11;10567:96;10689:5;10680;:14;10676:64;;10724:1;10714:11;10766:6;9889:890;-1:-1:-1;;9889:890:15:o;14:131:17:-;-1:-1:-1;;;;;;88:32:17;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:17;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:17;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:17:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:17;;1348:180;-1:-1:-1;1348:180:17:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:17;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:17:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:17;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:17;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:496::-;7349:3;7387:6;7381:13;7403:66;7462:6;7457:3;7450:4;7442:6;7438:17;7403:66;:::i;:::-;7532:13;;7491:16;;;;7554:70;7532:13;7491:16;7601:4;7589:17;;7554:70;:::i;:::-;7640:20;;7170:496;-1:-1:-1;;;;7170:496:17:o;7671:401::-;7873:2;7855:21;;;7912:2;7892:18;;;7885:30;7951:34;7946:2;7931:18;;7924:62;-1:-1:-1;;;8017:2:17;8002:18;;7995:35;8062:3;8047:19;;7671:401::o;8836:414::-;9038:2;9020:21;;;9077:2;9057:18;;;9050:30;9116:34;9111:2;9096:18;;9089:62;-1:-1:-1;;;9182:2:17;9167:18;;9160:48;9240:3;9225:19;;8836:414::o;9387:127::-;9448:10;9443:3;9439:20;9436:1;9429:31;9479:4;9476:1;9469:15;9503:4;9500:1;9493:15;9519:128;9586:9;;;9607:11;;;9604:37;;;9621:18;;:::i;9652:125::-;9717:9;;;9738:10;;;9735:36;;;9751:18;;:::i;9782:489::-;-1:-1:-1;;;;;10051:15:17;;;10033:34;;10103:15;;10098:2;10083:18;;10076:43;10150:2;10135:18;;10128:34;;;10198:3;10193:2;10178:18;;10171:31;;;9976:4;;10219:46;;10245:19;;10237:6;10219:46;:::i;:::-;10211:54;9782:489;-1:-1:-1;;;;;;9782:489:17:o;10276:249::-;10345:6;10398:2;10386:9;10377:7;10373:23;10369:32;10366:52;;;10414:1;10411;10404:12;10366:52;10446:9;10440:16;10465:30;10489:5;10465:30;:::i" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "904200", - "executionCost": "infinite", - "totalCost": "infinite" - }, - "external": { - "approve(address,uint256)": "infinite", - "balanceOf(address)": "2634", - "getApproved(uint256)": "4769", - "isApprovedForAll(address,address)": "infinite", - "name()": "infinite", - "ownerOf(uint256)": "2561", - "safeTransferFrom(address,address,uint256)": "infinite", - "safeTransferFrom(address,address,uint256,bytes)": "infinite", - "setApprovalForAll(address,bool)": "26705", - "supportsInterface(bytes4)": "511", - "symbol()": "infinite", - "tokenURI(uint256)": "infinite", - "transferFrom(address,address,uint256)": "infinite" - }, - "internal": { - "_afterTokenTransfer(address,address,uint256,uint256)": "infinite", - "_approve(address,uint256)": "infinite", - "_baseURI()": "infinite", - "_beforeTokenTransfer(address,address,uint256,uint256)": "24513", - "_burn(uint256)": "infinite", - "_checkOnERC721Received(address,address,uint256,bytes memory)": "infinite", - "_exists(uint256)": "infinite", - "_isApprovedOrOwner(address,uint256)": "infinite", - "_mint(address,uint256)": "infinite", - "_ownerOf(uint256)": "infinite", - "_requireMinted(uint256)": "infinite", - "_safeMint(address,uint256)": "infinite", - "_safeMint(address,uint256,bytes memory)": "infinite", - "_safeTransfer(address,address,uint256,bytes memory)": "infinite", - "_setApprovalForAll(address,address,bool)": "infinite", - "_transfer(address,address,uint256)": "infinite" - } - }, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenURI(uint256)": "c87b56dd", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 138, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721", - "label": "_name", - "offset": 0, - "slot": "0", - "type": "t_string_storage" - }, - { - "astId": 140, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721", - "label": "_symbol", - "offset": 0, - "slot": "1", - "type": "t_string_storage" - }, - { - "astId": 144, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721", - "label": "_owners", - "offset": 0, - "slot": "2", - "type": "t_mapping(t_uint256,t_address)" - }, - { - "astId": 148, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721", - "label": "_balances", - "offset": 0, - "slot": "3", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 152, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721", - "label": "_tokenApprovals", - "offset": 0, - "slot": "4", - "type": "t_mapping(t_uint256,t_address)" - }, - { - "astId": 158, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721", - "label": "_operatorApprovals", - "offset": 0, - "slot": "5", - "type": "t_mapping(t_address,t_mapping(t_address,t_bool))" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_mapping(t_address,t_bool)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => bool)", - "numberOfBytes": "32", - "value": "t_bool" - }, - "t_mapping(t_address,t_mapping(t_address,t_bool))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => bool))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_bool)" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_mapping(t_uint256,t_address)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => address)", - "numberOfBytes": "32", - "value": "t_address" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol": { - "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": "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 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"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\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": { - "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" - } - ], - "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 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "onERC721Received(address,address,uint256,bytes)": "150b7a02" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"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\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol": { - "ERC721Burnable": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "burn", - "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": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "ERC721 Token that can be burned (destroyed).", - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "burn(uint256)": { - "details": "Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator." - }, - "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}." - } - }, - "title": "ERC721 Burnable Token", - "version": 1 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenURI(uint256)": "c87b56dd", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"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\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC721 Token that can be burned (destroyed).\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"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}.\"}},\"title\":\"ERC721 Burnable Token\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":\"ERC721Burnable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 138, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable", - "label": "_name", - "offset": 0, - "slot": "0", - "type": "t_string_storage" - }, - { - "astId": 140, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable", - "label": "_symbol", - "offset": 0, - "slot": "1", - "type": "t_string_storage" - }, - { - "astId": 144, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable", - "label": "_owners", - "offset": 0, - "slot": "2", - "type": "t_mapping(t_uint256,t_address)" - }, - { - "astId": 148, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable", - "label": "_balances", - "offset": 0, - "slot": "3", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 152, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable", - "label": "_tokenApprovals", - "offset": 0, - "slot": "4", - "type": "t_mapping(t_uint256,t_address)" - }, - { - "astId": 158, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable", - "label": "_operatorApprovals", - "offset": 0, - "slot": "5", - "type": "t_mapping(t_address,t_mapping(t_address,t_bool))" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_mapping(t_address,t_bool)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => bool)", - "numberOfBytes": "32", - "value": "t_bool" - }, - "t_mapping(t_address,t_mapping(t_address,t_bool))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => bool))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_bool)" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_mapping(t_uint256,t_address)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => address)", - "numberOfBytes": "32", - "value": "t_address" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol": { - "ERC721Enumerable": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "This implements an optional extension of {ERC721} defined in the EIP that adds enumerability of all the token ids in the contract as well as all token ids owned by each account.", - "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}." - }, - "tokenByIndex(uint256)": { - "details": "See {IERC721Enumerable-tokenByIndex}." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." - }, - "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." - }, - "totalSupply()": { - "details": "See {IERC721Enumerable-totalSupply}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - } - }, - "version": 1 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenByIndex(uint256)": "4f6ccce7", - "tokenOfOwnerByIndex(address,uint256)": "2f745c59", - "tokenURI(uint256)": "c87b56dd", - "totalSupply()": "18160ddd", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This implements an optional extension of {ERC721} defined in the EIP that adds enumerability of all the token ids in the contract as well as all token ids owned by each account.\",\"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}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":\"ERC721Enumerable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 138, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:ERC721Enumerable", - "label": "_name", - "offset": 0, - "slot": "0", - "type": "t_string_storage" - }, - { - "astId": 140, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:ERC721Enumerable", - "label": "_symbol", - "offset": 0, - "slot": "1", - "type": "t_string_storage" - }, - { - "astId": 144, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:ERC721Enumerable", - "label": "_owners", - "offset": 0, - "slot": "2", - "type": "t_mapping(t_uint256,t_address)" - }, - { - "astId": 148, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:ERC721Enumerable", - "label": "_balances", - "offset": 0, - "slot": "3", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 152, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:ERC721Enumerable", - "label": "_tokenApprovals", - "offset": 0, - "slot": "4", - "type": "t_mapping(t_uint256,t_address)" - }, - { - "astId": 158, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:ERC721Enumerable", - "label": "_operatorApprovals", - "offset": 0, - "slot": "5", - "type": "t_mapping(t_address,t_mapping(t_address,t_bool))" - }, - { - "astId": 1236, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:ERC721Enumerable", - "label": "_ownedTokens", - "offset": 0, - "slot": "6", - "type": "t_mapping(t_address,t_mapping(t_uint256,t_uint256))" - }, - { - "astId": 1240, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:ERC721Enumerable", - "label": "_ownedTokensIndex", - "offset": 0, - "slot": "7", - "type": "t_mapping(t_uint256,t_uint256)" - }, - { - "astId": 1243, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:ERC721Enumerable", - "label": "_allTokens", - "offset": 0, - "slot": "8", - "type": "t_array(t_uint256)dyn_storage" - }, - { - "astId": 1247, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol:ERC721Enumerable", - "label": "_allTokensIndex", - "offset": 0, - "slot": "9", - "type": "t_mapping(t_uint256,t_uint256)" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)dyn_storage": { - "base": "t_uint256", - "encoding": "dynamic_array", - "label": "uint256[]", - "numberOfBytes": "32" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_mapping(t_address,t_bool)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => bool)", - "numberOfBytes": "32", - "value": "t_bool" - }, - "t_mapping(t_address,t_mapping(t_address,t_bool))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => bool))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_bool)" - }, - "t_mapping(t_address,t_mapping(t_uint256,t_uint256))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(uint256 => uint256))", - "numberOfBytes": "32", - "value": "t_mapping(t_uint256,t_uint256)" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_mapping(t_uint256,t_address)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => address)", - "numberOfBytes": "32", - "value": "t_address" - }, - "t_mapping(t_uint256,t_uint256)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol": { - "ERC721URIStorage": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "ERC721 token with storage based token URI management.", - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - } - }, - "version": 1 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenURI(uint256)": "c87b56dd", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC721 token with storage based token URI management.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":\"ERC721URIStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x5c3501c1b70fcfc64417e9da5cc6a3597191baa354781e508e1e14cc0e50a038\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://899c87a849a94c848818d0afede6961d2c87665af1dd23a5c983e78981a65691\",\"dweb:/ipfs/QmUeFDffQRDmX87FX3MRxN3bmpUxDTWpWLwPJzeAJ3yF6H\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 138, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage", - "label": "_name", - "offset": 0, - "slot": "0", - "type": "t_string_storage" - }, - { - "astId": 140, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage", - "label": "_symbol", - "offset": 0, - "slot": "1", - "type": "t_string_storage" - }, - { - "astId": 144, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage", - "label": "_owners", - "offset": 0, - "slot": "2", - "type": "t_mapping(t_uint256,t_address)" - }, - { - "astId": 148, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage", - "label": "_balances", - "offset": 0, - "slot": "3", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 152, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage", - "label": "_tokenApprovals", - "offset": 0, - "slot": "4", - "type": "t_mapping(t_uint256,t_address)" - }, - { - "astId": 158, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage", - "label": "_operatorApprovals", - "offset": 0, - "slot": "5", - "type": "t_mapping(t_address,t_mapping(t_address,t_bool))" - }, - { - "astId": 1588, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage", - "label": "_tokenURIs", - "offset": 0, - "slot": "6", - "type": "t_mapping(t_uint256,t_string_storage)" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_mapping(t_address,t_bool)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => bool)", - "numberOfBytes": "32", - "value": "t_bool" - }, - "t_mapping(t_address,t_mapping(t_address,t_bool))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => bool))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_bool)" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_mapping(t_uint256,t_address)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => address)", - "numberOfBytes": "32", - "value": "t_address" - }, - "t_mapping(t_uint256,t_string_storage)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => string)", - "numberOfBytes": "32", - "value": "t_string_storage" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": { - "IERC721Enumerable": { - "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": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "See https://eips.ethereum.org/EIPS/eip-721", - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" - }, - "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." - }, - "tokenByIndex(uint256)": { - "details": "Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens." - }, - "totalSupply()": { - "details": "Returns the total amount of tokens stored by the contract." - }, - "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 enumeration extension", - "version": 1 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "tokenByIndex(uint256)": "4f6ccce7", - "tokenOfOwnerByIndex(address,uint256)": "2f745c59", - "totalSupply()": "18160ddd", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"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\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"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.\"},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"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 enumeration extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":\"IERC721Enumerable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { - "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": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "See https://eips.ethereum.org/EIPS/eip-721", - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" - }, - "name()": { - "details": "Returns the token collection name." - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must 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 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenURI(uint256)": "c87b56dd", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must 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\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol": { - "Address": { - "abi": [], - "devdoc": { - "details": "Collection of functions related to the address type", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fd1d0b2ea9e8e33fa63cc304b84dd6770d63f443eead7da748c1d950b5804c6764736f6c63430008110033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 REVERT SAR SIGNEXTEND 0x2E 0xA9 0xE8 0xE3 EXTCODEHASH 0xA6 EXTCODECOPY 0xC3 DIV 0xB8 0x4D 0xD6 PUSH24 0xD63F443EEAD7DA748C1D950B5804C6764736F6C63430008 GT STOP CALLER ", - "sourceMap": "194:8964:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:8964:9;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fd1d0b2ea9e8e33fa63cc304b84dd6770d63f443eead7da748c1d950b5804c6764736f6c63430008110033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 REVERT SAR SIGNEXTEND 0x2E 0xA9 0xE8 0xE3 EXTCODEHASH 0xA6 EXTCODECOPY 0xC3 DIV 0xB8 0x4D 0xD6 PUSH24 0xD63F443EEAD7DA748C1D950B5804C6764736F6C63430008 GT STOP CALLER ", - "sourceMap": "194:8964:9:-:0;;;;;;;;" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "17200", - "executionCost": "103", - "totalCost": "17303" - }, - "internal": { - "_revert(bytes memory,string memory)": "infinite", - "functionCall(address,bytes memory)": "infinite", - "functionCall(address,bytes memory,string memory)": "infinite", - "functionCallWithValue(address,bytes memory,uint256)": "infinite", - "functionCallWithValue(address,bytes memory,uint256,string memory)": "infinite", - "functionDelegateCall(address,bytes memory)": "infinite", - "functionDelegateCall(address,bytes memory,string memory)": "infinite", - "functionStaticCall(address,bytes memory)": "infinite", - "functionStaticCall(address,bytes memory,string memory)": "infinite", - "isContract(address)": "infinite", - "sendValue(address payable,uint256)": "infinite", - "verifyCallResult(bool,bytes memory,string memory)": "infinite", - "verifyCallResultFromTarget(address,bool,bytes memory,string memory)": "infinite" - } - }, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"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\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol": { - "Context": { - "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 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"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\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Counters.sol": { - "Counters": { - "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 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206ffd5f0503198e16438af976cd805fe0882f425c6eea47abef14f2b41ac756f564736f6c63430008110033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH16 0xFD5F0503198E16438AF976CD805FE088 0x2F TIMESTAMP 0x5C PUSH15 0xEA47ABEF14F2B41AC756F564736F6C PUSH4 0x43000811 STOP CALLER ", - "sourceMap": "424:971:11:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;424:971:11;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206ffd5f0503198e16438af976cd805fe0882f425c6eea47abef14f2b41ac756f564736f6c63430008110033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH16 0xFD5F0503198E16438AF976CD805FE088 0x2F TIMESTAMP 0x5C PUSH15 0xEA47ABEF14F2B41AC756F564736F6C PUSH4 0x43000811 STOP CALLER ", - "sourceMap": "424:971:11:-:0;;;;;;;;" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "17200", - "executionCost": "103", - "totalCost": "17303" - }, - "internal": { - "current(struct Counters.Counter storage pointer)": "infinite", - "decrement(struct Counters.Counter storage pointer)": "infinite", - "increment(struct Counters.Counter storage pointer)": "infinite", - "reset(struct Counters.Counter storage pointer)": "infinite" - } - }, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"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\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Counters.sol\":\"Counters\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol": { - "Strings": { - "abi": [], - "devdoc": { - "details": "String operations.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220489319e29f6a84b595cb9a853d056c4e903de21532e3543f77a9f53f841940f964736f6c63430008110033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BASEFEE SWAP4 NOT 0xE2 SWAP16 PUSH11 0x84B595CB9A853D056C4E90 RETURNDATASIZE 0xE2 ISZERO ORIGIN 0xE3 SLOAD EXTCODEHASH PUSH24 0xA9F53F841940F964736F6C63430008110033000000000000 ", - "sourceMap": "188:2065:12:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;188:2065:12;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220489319e29f6a84b595cb9a853d056c4e903de21532e3543f77a9f53f841940f964736f6c63430008110033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BASEFEE SWAP4 NOT 0xE2 SWAP16 PUSH11 0x84B595CB9A853D056C4E90 RETURNDATASIZE 0xE2 ISZERO ORIGIN 0xE3 SLOAD EXTCODEHASH PUSH24 0xA9F53F841940F964736F6C63430008110033000000000000 ", - "sourceMap": "188:2065:12:-:0;;;;;;;;" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "17200", - "executionCost": "103", - "totalCost": "17303" - }, - "internal": { - "toHexString(address)": "infinite", - "toHexString(uint256)": "infinite", - "toHexString(uint256,uint256)": "infinite", - "toString(uint256)": "infinite" - } - }, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol": { - "ERC165": { - "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 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "supportsInterface(bytes4)": "01ffc9a7" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"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\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol": { - "IERC165": { - "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 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "methodIdentifiers": { - "supportsInterface(bytes4)": "01ffc9a7" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"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\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol": { - "Math": { - "abi": [], - "devdoc": { - "details": "Standard math utilities missing in the Solidity language.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cd85d9f8479af3d750a42b62b92ca824f96553b09a3a4c964e990039cad3018064736f6c63430008110033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD DUP6 0xD9 0xF8 SELFBALANCE SWAP11 RETURN 0xD7 POP LOG4 0x2B PUSH3 0xB92CA8 0x24 0xF9 PUSH6 0x53B09A3A4C96 0x4E SWAP10 STOP CODECOPY 0xCA 0xD3 ADD DUP1 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", - "sourceMap": "202:12302:15:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;202:12302:15;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cd85d9f8479af3d750a42b62b92ca824f96553b09a3a4c964e990039cad3018064736f6c63430008110033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD DUP6 0xD9 0xF8 SELFBALANCE SWAP11 RETURN 0xD7 POP LOG4 0x2B PUSH3 0xB92CA8 0x24 0xF9 PUSH6 0x53B09A3A4C96 0x4E SWAP10 STOP CODECOPY 0xCA 0xD3 ADD DUP1 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", - "sourceMap": "202:12302:15:-:0;;;;;;;;" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "17200", - "executionCost": "103", - "totalCost": "17303" - }, - "internal": { - "average(uint256,uint256)": "infinite", - "ceilDiv(uint256,uint256)": "infinite", - "log10(uint256)": "infinite", - "log10(uint256,enum Math.Rounding)": "infinite", - "log2(uint256)": "infinite", - "log2(uint256,enum Math.Rounding)": "infinite", - "log256(uint256)": "infinite", - "log256(uint256,enum Math.Rounding)": "infinite", - "max(uint256,uint256)": "infinite", - "min(uint256,uint256)": "infinite", - "mulDiv(uint256,uint256,uint256)": "infinite", - "mulDiv(uint256,uint256,uint256,enum Math.Rounding)": "infinite", - "sqrt(uint256)": "infinite", - "sqrt(uint256,enum Math.Rounding)": "infinite" - } - }, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"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\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol": { - "ZeppelinContract": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "burn", - "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": "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": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "name": "safeMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "burn(uint256)": { - "details": "Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "tokenByIndex(uint256)": { - "details": "See {IERC721Enumerable-tokenByIndex}." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." - }, - "totalSupply()": { - "details": "See {IERC721Enumerable-totalSupply}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "evm": { - "bytecode": { - "functionDebugData": { - "@_175": { - "entryPoint": null, - "id": 175, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_23": { - "entryPoint": null, - "id": 23, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_3293": { - "entryPoint": null, - "id": 3293, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_msgSender_2100": { - "entryPoint": 154, - "id": 2100, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_transferOwnership_111": { - "entryPoint": 158, - "id": 111, - "parameterSlots": 1, - "returnSlots": 0 - }, - "array_dataslot_string_storage": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 322, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 405, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 262, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "extract_used_part_and_set_length_of_short_byte_array": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "panic_error_0x41": { - "entryPoint": 240, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2732:17", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:17", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:17", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:17" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "201:325:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "211:22:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "225:1:17", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "228:4:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "221:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "221:12:17" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "211:6:17" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "242:38:17", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "272:4:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "278:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "268:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "268:12:17" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "246:18:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "319:31:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "321:27:17", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "335:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "343:4:17", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "331:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "331:17:17" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "321:6:17" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "299:18:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "292:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "292:26:17" - }, - "nodeType": "YulIf", - "src": "289:61:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "409:111:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "430:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "437:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "442:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "433:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "433:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "423:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "423:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "423:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "474:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "477:4:17", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "467:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "467:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "467:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "502:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "505:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "495:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "495:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "495:15:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "365:18:17" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "388:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "396:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "385:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "385:14:17" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "362:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "362:38:17" - }, - "nodeType": "YulIf", - "src": "359:161:17" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "181:4:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "190:6:17", - "type": "" - } - ], - "src": "146:380:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "587:65:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "604:1:17", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "607:3:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "597:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "597:14:17" - }, - "nodeType": "YulExpressionStatement", - "src": "597:14:17" - }, - { - "nodeType": "YulAssignment", - "src": "620:26:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "638:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "641:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "628:9:17" - }, - "nodeType": "YulFunctionCall", - "src": "628:18:17" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "620:4:17" - } - ] - } - ] - }, - "name": "array_dataslot_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "570:3:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "578:4:17", - "type": "" - } - ], - "src": "531:121:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "738:464:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "771:425:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "785:11:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "795:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "789:2:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "816:2:17" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "820:5:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "809:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "809:17:17" - }, - "nodeType": "YulExpressionStatement", - "src": "809:17:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "839:31:17", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "861:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "865:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "851:9:17" - }, - "nodeType": "YulFunctionCall", - "src": "851:19:17" - }, - "variables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "843:4:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "883:57:17", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "906:4:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "916:1:17", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "923:10:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "935:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "919:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "919:19:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "912:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "912:27:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "902:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "902:38:17" - }, - "variables": [ - { - "name": "deleteStart", - "nodeType": "YulTypedName", - "src": "887:11:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "977:23:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "979:19:17", - "value": { - "name": "data", - "nodeType": "YulIdentifier", - "src": "994:4:17" - }, - "variableNames": [ - { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "979:11:17" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "959:10:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "971:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "956:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "956:20:17" - }, - "nodeType": "YulIf", - "src": "953:47:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1013:41:17", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1027:4:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1037:1:17", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "1044:3:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1049:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1040:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1040:12:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1033:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1033:20:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1023:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1023:31:17" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "1017:2:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1067:24:17", - "value": { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "1080:11:17" - }, - "variables": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "1071:5:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1165:21:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1174:5:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1181:2:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "1167:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1167:17:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1167:17:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1115:5:17" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1122:2:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1112:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1112:13:17" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1126:26:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1128:22:17", - "value": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1141:5:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1148:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1137:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1137:13:17" - }, - "variableNames": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1128:5:17" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1108:3:17", - "statements": [] - }, - "src": "1104:82:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "754:3:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "759:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "751:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "751:11:17" - }, - "nodeType": "YulIf", - "src": "748:448:17" - } - ] - }, - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "710:5:17", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "717:3:17", - "type": "" - }, - { - "name": "startIndex", - "nodeType": "YulTypedName", - "src": "722:10:17", - "type": "" - } - ], - "src": "657:545:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1292:81:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1302:65:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1317:4:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1335:1:17", - "type": "", - "value": "3" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "1338:3:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1331:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1331:11:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1348:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1344:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1344:6:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1327:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1327:24:17" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1323:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1323:29:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1313:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1313:40:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1359:1:17", - "type": "", - "value": "1" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "1362:3:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1355:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1355:11:17" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1310:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1310:57:17" - }, - "variableNames": [ - { - "name": "used", - "nodeType": "YulIdentifier", - "src": "1302:4:17" - } - ] - } - ] - }, - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1269:4:17", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "1275:3:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "used", - "nodeType": "YulTypedName", - "src": "1283:4:17", - "type": "" - } - ], - "src": "1207:166:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1474:1256:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1484:24:17", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1504:3:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1498:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "1498:10:17" - }, - "variables": [ - { - "name": "newLen", - "nodeType": "YulTypedName", - "src": "1488:6:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1551:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1553:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "1553:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1553:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1523:6:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1539:2:17", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1543:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1535:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1535:10:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1547:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1531:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1531:18:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1520:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1520:30:17" - }, - "nodeType": "YulIf", - "src": "1517:56:17" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "1626:4:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "1664:4:17" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "1658:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "1658:11:17" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nodeType": "YulIdentifier", - "src": "1632:25:17" - }, - "nodeType": "YulFunctionCall", - "src": "1632:38:17" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1672:6:17" - } - ], - "functionName": { - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulIdentifier", - "src": "1582:43:17" - }, - "nodeType": "YulFunctionCall", - "src": "1582:97:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1582:97:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1688:18:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1705:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "srcOffset", - "nodeType": "YulTypedName", - "src": "1692:9:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1715:23:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1734:4:17", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "srcOffset_1", - "nodeType": "YulTypedName", - "src": "1719:11:17", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1747:24:17", - "value": { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "1760:11:17" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "1747:9:17" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1817:656:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1831:35:17", - "value": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1850:6:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1862:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1858:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1858:7:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1846:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1846:20:17" - }, - "variables": [ - { - "name": "loopEnd", - "nodeType": "YulTypedName", - "src": "1835:7:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1879:49:17", - "value": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "1923:4:17" - } - ], - "functionName": { - "name": "array_dataslot_string_storage", - "nodeType": "YulIdentifier", - "src": "1893:29:17" - }, - "nodeType": "YulFunctionCall", - "src": "1893:35:17" - }, - "variables": [ - { - "name": "dstPtr", - "nodeType": "YulTypedName", - "src": "1883:6:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1941:10:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1950:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1945:1:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2028:172:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2053:6:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2071:3:17" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2076:9:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2067:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2067:19:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2061:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "2061:26:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2046:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2046:42:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2046:42:17" - }, - { - "nodeType": "YulAssignment", - "src": "2105:24:17", - "value": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2119:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2127:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2115:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2115:14:17" - }, - "variableNames": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2105:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2146:40:17", - "value": { - "arguments": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2163:9:17" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "2174:11:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2159:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2159:27:17" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2146:9:17" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1975:1:17" - }, - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "1978:7:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1972:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1972:14:17" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1987:28:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1989:24:17", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1998:1:17" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "2001:11:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1994:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1994:19:17" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1989:1:17" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1968:3:17", - "statements": [] - }, - "src": "1964:236:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2248:166:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2266:43:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2293:3:17" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2298:9:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2289:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2289:19:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2283:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "2283:26:17" - }, - "variables": [ - { - "name": "lastValue", - "nodeType": "YulTypedName", - "src": "2270:9:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2333:6:17" - }, - { - "arguments": [ - { - "name": "lastValue", - "nodeType": "YulIdentifier", - "src": "2345:9:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2372:1:17", - "type": "", - "value": "3" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2375:6:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2368:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2368:14:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2384:3:17", - "type": "", - "value": "248" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2364:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2364:24:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2394:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2390:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2390:6:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2360:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2360:37:17" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2356:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2356:42:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2341:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2341:58:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2326:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2326:74:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2326:74:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "2219:7:17" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2228:6:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2216:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "2216:19:17" - }, - "nodeType": "YulIf", - "src": "2213:201:17" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "2434:4:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2448:1:17", - "type": "", - "value": "1" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2451:6:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2444:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2444:14:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2460:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2440:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2440:22:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2427:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2427:36:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2427:36:17" - } - ] - }, - "nodeType": "YulCase", - "src": "1810:663:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1815:1:17", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2490:234:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2504:14:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2517:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2508:5:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2553:67:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2571:35:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2590:3:17" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2595:9:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2586:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2586:19:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2580:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "2580:26:17" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2571:5:17" - } - ] - } - ] - }, - "condition": { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2534:6:17" - }, - "nodeType": "YulIf", - "src": "2531:89:17" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "2640:4:17" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2699:5:17" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2706:6:17" - } - ], - "functionName": { - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulIdentifier", - "src": "2646:52:17" - }, - "nodeType": "YulFunctionCall", - "src": "2646:67:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2633:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2633:81:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2633:81:17" - } - ] - }, - "nodeType": "YulCase", - "src": "2482:242:17", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1790:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1798:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1787:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1787:14:17" - }, - "nodeType": "YulSwitch", - "src": "1780:944:17" - } - ] - }, - "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "1459:4:17", - "type": "" - }, - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1465:3:17", - "type": "" - } - ], - "src": "1378:1352:17" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\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}", - "id": 17, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b506040518060400160405280601081526020016f16995c1c195b1a5b90dbdb9d1c9858dd60821b81525060405180604001604052806003815260200162554e5160e81b815250816000908162000068919062000195565b50600162000077828262000195565b505050620000946200008e6200009a60201b60201c565b6200009e565b62000261565b3390565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200011b57607f821691505b6020821081036200013c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200019057600081815260208120601f850160051c810160208610156200016b5750805b601f850160051c820191505b818110156200018c5782815560010162000177565b5050505b505050565b81516001600160401b03811115620001b157620001b1620000f0565b620001c981620001c2845462000106565b8462000142565b602080601f831160018114620002015760008415620001e85750858301515b600019600386901b1c1916600185901b1785556200018c565b600085815260208120601f198616915b82811015620002325788860151825594840194600190910190840162000211565b5085821015620002515787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611f0d80620002716000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80636352211e116100b8578063a22cb4651161007c578063a22cb46514610271578063b88d4fde14610284578063c87b56dd14610297578063d204c45e146102aa578063e985e9c5146102bd578063f2fde38b146102f957600080fd5b80636352211e1461022a57806370a082311461023d578063715018a6146102505780638da5cb5b1461025857806395d89b411461026957600080fd5b806323b872dd116100ff57806323b872dd146101cb5780632f745c59146101de57806342842e0e146101f157806342966c68146102045780634f6ccce71461021757600080fd5b806301ffc9a71461013c57806306fdde0314610164578063081812fc14610179578063095ea7b3146101a457806318160ddd146101b9575b600080fd5b61014f61014a3660046118ab565b61030c565b60405190151581526020015b60405180910390f35b61016c61031d565b60405161015b9190611918565b61018c61018736600461192b565b6103af565b6040516001600160a01b03909116815260200161015b565b6101b76101b2366004611960565b6103d6565b005b6008545b60405190815260200161015b565b6101b76101d936600461198a565b6104f0565b6101bd6101ec366004611960565b610522565b6101b76101ff36600461198a565b6105b8565b6101b761021236600461192b565b6105d3565b6101bd61022536600461192b565b610604565b61018c61023836600461192b565b610697565b6101bd61024b3660046119c6565b6106f7565b6101b761077d565b600b546001600160a01b031661018c565b61016c610791565b6101b761027f3660046119e1565b6107a0565b6101b7610292366004611aa9565b6107af565b61016c6102a536600461192b565b6107e7565b6101b76102b8366004611b25565b6107f2565b61014f6102cb366004611b87565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101b76103073660046119c6565b610829565b60006103178261089f565b92915050565b60606000805461032c90611bba565b80601f016020809104026020016040519081016040528092919081815260200182805461035890611bba565b80156103a55780601f1061037a576101008083540402835291602001916103a5565b820191906000526020600020905b81548152906001019060200180831161038857829003601f168201915b5050505050905090565b60006103ba826108c4565b506000908152600460205260409020546001600160a01b031690565b60006103e182610697565b9050806001600160a01b0316836001600160a01b0316036104535760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061046f575061046f81336102cb565b6104e15760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161044a565b6104eb8383610923565b505050565b6104fb335b82610991565b6105175760405162461bcd60e51b815260040161044a90611bf4565b6104eb838383610a10565b600061052d836106f7565b821061058f5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161044a565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6104eb838383604051806020016040528060008152506107af565b6105dc336104f5565b6105f85760405162461bcd60e51b815260040161044a90611bf4565b61060181610b81565b50565b600061060f60085490565b82106106725760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161044a565b6008828154811061068557610685611c41565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806103175760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044a565b60006001600160a01b0382166107615760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161044a565b506001600160a01b031660009081526003602052604090205490565b610785610b8a565b61078f6000610be4565b565b60606001805461032c90611bba565b6107ab338383610c36565b5050565b6107b93383610991565b6107d55760405162461bcd60e51b815260040161044a90611bf4565b6107e184848484610d04565b50505050565b606061031782610d37565b6107fa610b8a565b6000610805600c5490565b9050610815600c80546001019055565b61081f8382610e4b565b6104eb8183610e65565b610831610b8a565b6001600160a01b0381166108965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044a565b61060181610be4565b60006001600160e01b0319821663780e9d6360e01b1480610317575061031782610ef8565b6000818152600260205260409020546001600160a01b03166106015760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044a565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061095882610697565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061099d83610697565b9050806001600160a01b0316846001600160a01b031614806109e457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610a085750836001600160a01b03166109fd846103af565b6001600160a01b0316145b949350505050565b826001600160a01b0316610a2382610697565b6001600160a01b031614610a495760405162461bcd60e51b815260040161044a90611c57565b6001600160a01b038216610aab5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161044a565b610ab88383836001610f48565b826001600160a01b0316610acb82610697565b6001600160a01b031614610af15760405162461bcd60e51b815260040161044a90611c57565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61060181610f54565b600b546001600160a01b0316331461078f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044a565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603610c975760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161044a565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610d0f848484610a10565b610d1b84848484610f94565b6107e15760405162461bcd60e51b815260040161044a90611c9c565b6060610d42826108c4565b6000828152600a602052604081208054610d5b90611bba565b80601f0160208091040260200160405190810160405280929190818152602001828054610d8790611bba565b8015610dd45780601f10610da957610100808354040283529160200191610dd4565b820191906000526020600020905b815481529060010190602001808311610db757829003601f168201915b505050505090506000610dfe6040805180820190915260048152631d195cdd60e21b602082015290565b90508051600003610e10575092915050565b815115610e42578082604051602001610e2a929190611cee565b60405160208183030381529060405292505050919050565b610a0884611095565b6107ab828260405180602001604052806000815250611115565b6000828152600260205260409020546001600160a01b0316610ee05760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161044a565b6000828152600a602052604090206104eb8282611d6b565b60006001600160e01b031982166380ac58cd60e01b1480610f2957506001600160e01b03198216635b5e139f60e01b145b8061031757506301ffc9a760e01b6001600160e01b0319831614610317565b6107e184848484611148565b610f5d81611288565b6000818152600a602052604090208054610f7690611bba565b159050610601576000818152600a6020526040812061060191611847565b60006001600160a01b0384163b1561108a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610fd8903390899088908890600401611e2b565b6020604051808303816000875af1925050508015611013575060408051601f3d908101601f1916820190925261101091810190611e68565b60015b611070573d808015611041576040519150601f19603f3d011682016040523d82523d6000602084013e611046565b606091505b5080516000036110685760405162461bcd60e51b815260040161044a90611c9c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610a08565b506001949350505050565b60606110a0826108c4565b60006110c36040805180820190915260048152631d195cdd60e21b602082015290565b905060008151116110e3576040518060200160405280600081525061110e565b806110ed8461132b565b6040516020016110fe929190611cee565b6040516020818303038152906040525b9392505050565b61111f83836113be565b61112c6000848484610f94565b6104eb5760405162461bcd60e51b815260040161044a90611c9c565b61115484848484611557565b60018111156111c35760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b606482015260840161044a565b816001600160a01b03851661121f5761121a81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611242565b836001600160a01b0316856001600160a01b0316146112425761124285826115df565b6001600160a01b03841661125e576112598161167c565b611281565b846001600160a01b0316846001600160a01b03161461128157611281848261172b565b5050505050565b600061129382610697565b90506112a3816000846001610f48565b6112ac82610697565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006113388361176f565b600101905060008167ffffffffffffffff81111561135857611358611a1d565b6040519080825280601f01601f191660200182016040528015611382576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461138c57509392505050565b6001600160a01b0382166114145760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161044a565b6000818152600260205260409020546001600160a01b0316156114795760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044a565b611487600083836001610f48565b6000818152600260205260409020546001600160a01b0316156114ec5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044a565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60018111156107e1576001600160a01b0384161561159d576001600160a01b03841660009081526003602052604081208054839290611597908490611e9b565b90915550505b6001600160a01b038316156107e1576001600160a01b038316600090815260036020526040812080548392906115d4908490611eae565b909155505050505050565b600060016115ec846106f7565b6115f69190611e9b565b600083815260076020526040902054909150808214611649576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061168e90600190611e9b565b600083815260096020526040812054600880549394509092849081106116b6576116b6611c41565b9060005260206000200154905080600883815481106116d7576116d7611c41565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061170f5761170f611ec1565b6001900381819060005260206000200160009055905550505050565b6000611736836106f7565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117ae5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106117da576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106117f857662386f26fc10000830492506010015b6305f5e1008310611810576305f5e100830492506008015b612710831061182457612710830492506004015b60648310611836576064830492506002015b600a83106103175760010192915050565b50805461185390611bba565b6000825580601f10611863575050565b601f01602090049060005260206000209081019061060191905b80821115611891576000815560010161187d565b5090565b6001600160e01b03198116811461060157600080fd5b6000602082840312156118bd57600080fd5b813561110e81611895565b60005b838110156118e35781810151838201526020016118cb565b50506000910152565b600081518084526119048160208601602086016118c8565b601f01601f19169290920160200192915050565b60208152600061110e60208301846118ec565b60006020828403121561193d57600080fd5b5035919050565b80356001600160a01b038116811461195b57600080fd5b919050565b6000806040838503121561197357600080fd5b61197c83611944565b946020939093013593505050565b60008060006060848603121561199f57600080fd5b6119a884611944565b92506119b660208501611944565b9150604084013590509250925092565b6000602082840312156119d857600080fd5b61110e82611944565b600080604083850312156119f457600080fd5b6119fd83611944565b915060208301358015158114611a1257600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611a4e57611a4e611a1d565b604051601f8501601f19908116603f01168101908282118183101715611a7657611a76611a1d565b81604052809350858152868686011115611a8f57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215611abf57600080fd5b611ac885611944565b9350611ad660208601611944565b925060408501359150606085013567ffffffffffffffff811115611af957600080fd5b8501601f81018713611b0a57600080fd5b611b1987823560208401611a33565b91505092959194509250565b60008060408385031215611b3857600080fd5b611b4183611944565b9150602083013567ffffffffffffffff811115611b5d57600080fd5b8301601f81018513611b6e57600080fd5b611b7d85823560208401611a33565b9150509250929050565b60008060408385031215611b9a57600080fd5b611ba383611944565b9150611bb160208401611944565b90509250929050565b600181811c90821680611bce57607f821691505b602082108103611bee57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611d008184602088016118c8565b835190830190611d148183602088016118c8565b01949350505050565b601f8211156104eb57600081815260208120601f850160051c81016020861015611d445750805b601f850160051c820191505b81811015611d6357828155600101611d50565b505050505050565b815167ffffffffffffffff811115611d8557611d85611a1d565b611d9981611d938454611bba565b84611d1d565b602080601f831160018114611dce5760008415611db65750858301515b600019600386901b1c1916600185901b178555611d63565b600085815260208120601f198616915b82811015611dfd57888601518255948401946001909101908401611dde565b5085821015611e1b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611e5e908301846118ec565b9695505050505050565b600060208284031215611e7a57600080fd5b815161110e81611895565b634e487b7160e01b600052601160045260246000fd5b8181038181111561031757610317611e85565b8082018082111561031757610317611e85565b634e487b7160e01b600052603160045260246000fdfea26469706673582212207960bc65d7484ab1502ccdc352c91f0fb91535a525cf99e1b6392e242548279a64736f6c63430008110033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x10 DUP2 MSTORE PUSH1 0x20 ADD PUSH16 0x16995C1C195B1A5B90DBDB9D1C9858DD PUSH1 0x82 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH3 0x554E51 PUSH1 0xE8 SHL DUP2 MSTORE POP DUP2 PUSH1 0x0 SWAP1 DUP2 PUSH3 0x68 SWAP2 SWAP1 PUSH3 0x195 JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x77 DUP3 DUP3 PUSH3 0x195 JUMP JUMPDEST POP POP POP PUSH3 0x94 PUSH3 0x8E PUSH3 0x9A PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x9E JUMP JUMPDEST PUSH3 0x261 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0xB DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x11B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x13C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x190 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x16B JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x18C JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x177 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x1B1 JUMPI PUSH3 0x1B1 PUSH3 0xF0 JUMP JUMPDEST PUSH3 0x1C9 DUP2 PUSH3 0x1C2 DUP5 SLOAD PUSH3 0x106 JUMP JUMPDEST DUP5 PUSH3 0x142 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x201 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x1E8 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x18C JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x232 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x211 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x251 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x1F0D DUP1 PUSH3 0x271 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x271 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x284 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x297 JUMPI DUP1 PUSH4 0xD204C45E EQ PUSH2 0x2AA JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x2BD JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x22A JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x23D JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x250 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x258 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x1F1 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x164 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1B9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x18AB JUMP JUMPDEST PUSH2 0x30C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16C PUSH2 0x31D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15B SWAP2 SWAP1 PUSH2 0x1918 JUMP JUMPDEST PUSH2 0x18C PUSH2 0x187 CALLDATASIZE PUSH1 0x4 PUSH2 0x192B JUMP JUMPDEST PUSH2 0x3AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x15B JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x1B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1960 JUMP JUMPDEST PUSH2 0x3D6 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x8 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x15B JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x1D9 CALLDATASIZE PUSH1 0x4 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x4F0 JUMP JUMPDEST PUSH2 0x1BD PUSH2 0x1EC CALLDATASIZE PUSH1 0x4 PUSH2 0x1960 JUMP JUMPDEST PUSH2 0x522 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x1FF CALLDATASIZE PUSH1 0x4 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x5B8 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x212 CALLDATASIZE PUSH1 0x4 PUSH2 0x192B JUMP JUMPDEST PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x1BD PUSH2 0x225 CALLDATASIZE PUSH1 0x4 PUSH2 0x192B JUMP JUMPDEST PUSH2 0x604 JUMP JUMPDEST PUSH2 0x18C PUSH2 0x238 CALLDATASIZE PUSH1 0x4 PUSH2 0x192B JUMP JUMPDEST PUSH2 0x697 JUMP JUMPDEST PUSH2 0x1BD PUSH2 0x24B CALLDATASIZE PUSH1 0x4 PUSH2 0x19C6 JUMP JUMPDEST PUSH2 0x6F7 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x77D JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x18C JUMP JUMPDEST PUSH2 0x16C PUSH2 0x791 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x27F CALLDATASIZE PUSH1 0x4 PUSH2 0x19E1 JUMP JUMPDEST PUSH2 0x7A0 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x292 CALLDATASIZE PUSH1 0x4 PUSH2 0x1AA9 JUMP JUMPDEST PUSH2 0x7AF JUMP JUMPDEST PUSH2 0x16C PUSH2 0x2A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x192B JUMP JUMPDEST PUSH2 0x7E7 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x2B8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B25 JUMP JUMPDEST PUSH2 0x7F2 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x2CB CALLDATASIZE PUSH1 0x4 PUSH2 0x1B87 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x307 CALLDATASIZE PUSH1 0x4 PUSH2 0x19C6 JUMP JUMPDEST PUSH2 0x829 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x317 DUP3 PUSH2 0x89F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x32C SWAP1 PUSH2 0x1BBA JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x358 SWAP1 PUSH2 0x1BBA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3A5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x37A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3A5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x388 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BA DUP3 PUSH2 0x8C4 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E1 DUP3 PUSH2 0x697 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x453 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x46F JUMPI POP PUSH2 0x46F DUP2 CALLER PUSH2 0x2CB JUMP JUMPDEST PUSH2 0x4E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST PUSH2 0x4EB DUP4 DUP4 PUSH2 0x923 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x4FB CALLER JUMPDEST DUP3 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x517 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1BF4 JUMP JUMPDEST PUSH2 0x4EB DUP4 DUP4 DUP4 PUSH2 0xA10 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x52D DUP4 PUSH2 0x6F7 JUMP JUMPDEST DUP3 LT PUSH2 0x58F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A206F776E657220696E646578206F75 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x74206F6620626F756E6473 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x4EB DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x7AF JUMP JUMPDEST PUSH2 0x5DC CALLER PUSH2 0x4F5 JUMP JUMPDEST PUSH2 0x5F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1BF4 JUMP JUMPDEST PUSH2 0x601 DUP2 PUSH2 0xB81 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x60F PUSH1 0x8 SLOAD SWAP1 JUMP JUMPDEST DUP3 LT PUSH2 0x672 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A20676C6F62616C20696E646578206F PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x7574206F6620626F756E6473 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x8 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x685 JUMPI PUSH2 0x685 PUSH2 0x1C41 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x317 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x761 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x785 PUSH2 0xB8A JUMP JUMPDEST PUSH2 0x78F PUSH1 0x0 PUSH2 0xBE4 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x32C SWAP1 PUSH2 0x1BBA JUMP JUMPDEST PUSH2 0x7AB CALLER DUP4 DUP4 PUSH2 0xC36 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x7B9 CALLER DUP4 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x7D5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1BF4 JUMP JUMPDEST PUSH2 0x7E1 DUP5 DUP5 DUP5 DUP5 PUSH2 0xD04 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x317 DUP3 PUSH2 0xD37 JUMP JUMPDEST PUSH2 0x7FA PUSH2 0xB8A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x805 PUSH1 0xC SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP PUSH2 0x815 PUSH1 0xC DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x81F DUP4 DUP3 PUSH2 0xE4B JUMP JUMPDEST PUSH2 0x4EB DUP2 DUP4 PUSH2 0xE65 JUMP JUMPDEST PUSH2 0x831 PUSH2 0xB8A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x896 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST PUSH2 0x601 DUP2 PUSH2 0xBE4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x317 JUMPI POP PUSH2 0x317 DUP3 PUSH2 0xEF8 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x601 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x958 DUP3 PUSH2 0x697 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x99D DUP4 PUSH2 0x697 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x9E4 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0xA08 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x9FD DUP5 PUSH2 0x3AF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xA23 DUP3 PUSH2 0x697 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xA49 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1C57 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAAB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST PUSH2 0xAB8 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0xF48 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xACB DUP3 PUSH2 0x697 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xAF1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1C57 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x601 DUP2 PUSH2 0xF54 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x78F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0xB DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xC97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xD0F DUP5 DUP5 DUP5 PUSH2 0xA10 JUMP JUMPDEST PUSH2 0xD1B DUP5 DUP5 DUP5 DUP5 PUSH2 0xF94 JUMP JUMPDEST PUSH2 0x7E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x60 PUSH2 0xD42 DUP3 PUSH2 0x8C4 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0xD5B SWAP1 PUSH2 0x1BBA JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD87 SWAP1 PUSH2 0x1BBA JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDD4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xDA9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDD4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xDB7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0xDFE PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x1D195CDD PUSH1 0xE2 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xE10 JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xE42 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xE2A SWAP3 SWAP2 SWAP1 PUSH2 0x1CEE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA08 DUP5 PUSH2 0x1095 JUMP JUMPDEST PUSH2 0x7AB DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1115 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xEE0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524337323155524953746F726167653A2055524920736574206F66206E6F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x32BC34B9BA32B73A103A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x4EB DUP3 DUP3 PUSH2 0x1D6B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xF29 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x317 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x317 JUMP JUMPDEST PUSH2 0x7E1 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0xF5D DUP2 PUSH2 0x1288 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0xF76 SWAP1 PUSH2 0x1BBA JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x601 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x601 SWAP2 PUSH2 0x1847 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x108A JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xFD8 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1E2B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1013 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1010 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1E68 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1070 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x1041 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1046 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x1068 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1C9C JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0xA08 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x10A0 DUP3 PUSH2 0x8C4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10C3 PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x1D195CDD PUSH1 0xE2 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x10E3 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x110E JUMP JUMPDEST DUP1 PUSH2 0x10ED DUP5 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x10FE SWAP3 SWAP2 SWAP1 PUSH2 0x1CEE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x111F DUP4 DUP4 PUSH2 0x13BE JUMP JUMPDEST PUSH2 0x112C PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0xF94 JUMP JUMPDEST PUSH2 0x4EB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH2 0x1154 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x11C3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A20636F6E7365637574697665207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x185B9CD9995C9CC81B9BDD081CDD5C1C1BDC9D1959 PUSH1 0x5A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x121F JUMPI PUSH2 0x121A DUP2 PUSH1 0x8 DUP1 SLOAD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0xF3F7A9FE364FAAB93B216DA50A3214154F22A0A2B415B23A84C8169E8B636EE3 ADD SSTORE JUMP JUMPDEST PUSH2 0x1242 JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1242 JUMPI PUSH2 0x1242 DUP6 DUP3 PUSH2 0x15DF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x125E JUMPI PUSH2 0x1259 DUP2 PUSH2 0x167C JUMP JUMPDEST PUSH2 0x1281 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1281 JUMPI PUSH2 0x1281 DUP5 DUP3 PUSH2 0x172B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1293 DUP3 PUSH2 0x697 JUMP JUMPDEST SWAP1 POP PUSH2 0x12A3 DUP2 PUSH1 0x0 DUP5 PUSH1 0x1 PUSH2 0xF48 JUMP JUMPDEST PUSH2 0x12AC DUP3 PUSH2 0x697 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1338 DUP4 PUSH2 0x176F JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1358 JUMPI PUSH2 0x1358 PUSH2 0x1A1D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1382 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x138C JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1414 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x1479 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH2 0x1487 PUSH1 0x0 DUP4 DUP4 PUSH1 0x1 PUSH2 0xF48 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x14EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x7E1 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x159D JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1597 SWAP1 DUP5 SWAP1 PUSH2 0x1E9B JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO PUSH2 0x7E1 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x15D4 SWAP1 DUP5 SWAP1 PUSH2 0x1EAE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x15EC DUP5 PUSH2 0x6F7 JUMP JUMPDEST PUSH2 0x15F6 SWAP2 SWAP1 PUSH2 0x1E9B JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x1649 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x7 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP5 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND DUP4 MSTORE PUSH1 0x6 DUP2 MSTORE DUP4 DUP4 KECCAK256 SWAP2 DUP4 MSTORE MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x0 SWAP1 PUSH2 0x168E SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x1E9B JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x8 DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x16B6 JUMPI PUSH2 0x16B6 PUSH2 0x1C41 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 PUSH1 0x8 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x16D7 JUMPI PUSH2 0x16D7 PUSH2 0x1C41 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x9 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP6 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x8 DUP1 SLOAD DUP1 PUSH2 0x170F JUMPI PUSH2 0x170F PUSH2 0x1EC1 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1736 DUP4 PUSH2 0x6F7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE SWAP4 DUP3 MSTORE PUSH1 0x7 SWAP1 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x17AE JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x17DA JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x17F8 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x1810 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x1824 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x1836 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x317 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x1853 SWAP1 PUSH2 0x1BBA JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x1863 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x601 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1891 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x187D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x601 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x18BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x110E DUP2 PUSH2 0x1895 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18E3 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x18CB JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1904 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x18C8 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x110E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x18EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x193D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x195B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1973 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x197C DUP4 PUSH2 0x1944 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x199F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x19A8 DUP5 PUSH2 0x1944 JUMP JUMPDEST SWAP3 POP PUSH2 0x19B6 PUSH1 0x20 DUP6 ADD PUSH2 0x1944 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x19D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x110E DUP3 PUSH2 0x1944 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x19F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x19FD DUP4 PUSH2 0x1944 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1A12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x1A4E JUMPI PUSH2 0x1A4E PUSH2 0x1A1D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1A76 JUMPI PUSH2 0x1A76 PUSH2 0x1A1D JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x1A8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1ABF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AC8 DUP6 PUSH2 0x1944 JUMP JUMPDEST SWAP4 POP PUSH2 0x1AD6 PUSH1 0x20 DUP7 ADD PUSH2 0x1944 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1AF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x1B0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B19 DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1A33 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B41 DUP4 PUSH2 0x1944 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1B5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1B6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B7D DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1A33 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1BA3 DUP4 PUSH2 0x1944 JUMP JUMPDEST SWAP2 POP PUSH2 0x1BB1 PUSH1 0x20 DUP5 ADD PUSH2 0x1944 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1BCE JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1BEE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1D00 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x18C8 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x1D14 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x18C8 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x4EB JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1D44 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1D63 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1D50 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D85 JUMPI PUSH2 0x1D85 PUSH2 0x1A1D JUMP JUMPDEST PUSH2 0x1D99 DUP2 PUSH2 0x1D93 DUP5 SLOAD PUSH2 0x1BBA JUMP JUMPDEST DUP5 PUSH2 0x1D1D JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1DCE JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1DB6 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1D63 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1DFD JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x1DDE JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1E1B JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1E5E SWAP1 DUP4 ADD DUP5 PUSH2 0x18EC JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1E7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x110E DUP2 PUSH2 0x1895 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x317 JUMPI PUSH2 0x317 PUSH2 0x1E85 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x317 JUMPI PUSH2 0x317 PUSH2 0x1E85 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0x60BC65D7484AB1502CCDC352C91F0FB91535A525CF99E1B6392E 0x24 0x25 BASEFEE 0x27 SWAP11 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", - "sourceMap": "469:1412:16:-:0;;;661:50;;;;;;;;;;1390:113:1;;;;;;;;;;;;;-1:-1:-1;;;1390:113:1;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:1;;;1464:5;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:1;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;936:32:0;955:12;:10;;;:12;;:::i;:::-;936:18;:32::i;:::-;469:1412:16;;640:96:10;719:10;;640:96::o;2433:187:0:-;2525:6;;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;;2573:40;;2525:6;;;2541:17;2525:6;;2573:40;;2506:16;;2573:40;2496:124;2433:187;:::o;14:127:17:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:17;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:17;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:17;;;2580:26;2531:89;-1:-1:-1;;1335:1:17;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:17;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:17;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:17;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:17:o;:::-;469:1412:16;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_addTokenToAllTokensEnumeration_1463": { - "entryPoint": null, - "id": 1463, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_addTokenToOwnerEnumeration_1443": { - "entryPoint": 5931, - "id": 1443, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_afterTokenTransfer_1056": { - "entryPoint": null, - "id": 1056, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_approve_889": { - "entryPoint": 2339, - "id": 889, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_baseURI_3302": { - "entryPoint": null, - "id": 3302, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_beforeTokenTransfer_1043": { - "entryPoint": 5463, - "id": 1043, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_beforeTokenTransfer_1413": { - "entryPoint": 4424, - "id": 1413, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_beforeTokenTransfer_3357": { - "entryPoint": 3912, - "id": 3357, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_burn_1699": { - "entryPoint": 3924, - "id": 1699, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_burn_3372": { - "entryPoint": 2945, - "id": 3372, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_burn_780": { - "entryPoint": 4744, - "id": 780, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_checkOnERC721Received_997": { - "entryPoint": 3988, - "id": 997, - "parameterSlots": 4, - "returnSlots": 1 - }, - "@_checkOwner_54": { - "entryPoint": 2954, - "id": 54, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_exists_558": { - "entryPoint": null, - "id": 558, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_isApprovedOrOwner_592": { - "entryPoint": 2449, - "id": 592, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@_mint_713": { - "entryPoint": 5054, - "id": 713, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_msgSender_2100": { - "entryPoint": null, - "id": 2100, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_ownerOf_540": { - "entryPoint": null, - "id": 540, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_removeTokenFromAllTokensEnumeration_1574": { - "entryPoint": 5756, - "id": 1574, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_removeTokenFromOwnerEnumeration_1526": { - "entryPoint": 5599, - "id": 1526, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_requireMinted_935": { - "entryPoint": 2244, - "id": 935, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_safeMint_607": { - "entryPoint": 3659, - "id": 607, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_safeMint_636": { - "entryPoint": 4373, - "id": 636, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_safeTransfer_527": { - "entryPoint": 3332, - "id": 527, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_setApprovalForAll_921": { - "entryPoint": 3126, - "id": 921, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_setTokenURI_1669": { - "entryPoint": 3685, - "id": 1669, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_transferOwnership_111": { - "entryPoint": 3044, - "id": 111, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_transfer_865": { - "entryPoint": 2576, - "id": 865, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@approve_369": { - "entryPoint": 982, - "id": 369, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@balanceOf_230": { - "entryPoint": 1783, - "id": 230, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@burn_1220": { - "entryPoint": 1491, - "id": 1220, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@current_2128": { - "entryPoint": null, - "id": 2128, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getApproved_387": { - "entryPoint": 943, - "id": 387, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@increment_2142": { - "entryPoint": null, - "id": 2142, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@isApprovedForAll_422": { - "entryPoint": null, - "id": 422, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@isContract_1776": { - "entryPoint": null, - "id": 1776, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@log10_3097": { - "entryPoint": 5999, - "id": 3097, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@name_268": { - "entryPoint": 797, - "id": 268, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@ownerOf_258": { - "entryPoint": 1687, - "id": 258, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@owner_40": { - "entryPoint": null, - "id": 40, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@renounceOwnership_68": { - "entryPoint": 1917, - "id": 68, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@safeMint_3333": { - "entryPoint": 2034, - "id": 3333, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@safeTransferFrom_468": { - "entryPoint": 1464, - "id": 468, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@safeTransferFrom_498": { - "entryPoint": 1967, - "id": 498, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@setApprovalForAll_404": { - "entryPoint": 1952, - "id": 404, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@supportsInterface_1271": { - "entryPoint": 2207, - "id": 1271, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@supportsInterface_206": { - "entryPoint": 3832, - "id": 206, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@supportsInterface_2382": { - "entryPoint": null, - "id": 2382, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@supportsInterface_3404": { - "entryPoint": 780, - "id": 3404, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@symbol_278": { - "entryPoint": 1937, - "id": 278, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@toString_2242": { - "entryPoint": 4907, - "id": 2242, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@tokenByIndex_1333": { - "entryPoint": 1540, - "id": 1333, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@tokenOfOwnerByIndex_1299": { - "entryPoint": 1314, - "id": 1299, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@tokenURI_1647": { - "entryPoint": 3383, - "id": 1647, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@tokenURI_317": { - "entryPoint": 4245, - "id": 317, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@tokenURI_3388": { - "entryPoint": 2023, - "id": 3388, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@totalSupply_1310": { - "entryPoint": null, - "id": 1310, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@transferFrom_449": { - "entryPoint": 1264, - "id": 449, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@transferOwnership_91": { - "entryPoint": 2089, - "id": 91, - "parameterSlots": 1, - "returnSlots": 0 - }, - "abi_decode_address": { - "entryPoint": 6468, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_available_length_bytes": { - "entryPoint": 6707, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 6598, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address": { - "entryPoint": 7047, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_addresst_uint256": { - "entryPoint": 6538, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr": { - "entryPoint": 6825, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_addresst_bool": { - "entryPoint": 6625, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_string_memory_ptr": { - "entryPoint": 6949, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 6496, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_bytes4": { - "entryPoint": 6315, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes4_fromMemory": { - "entryPoint": 7784, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_uint256": { - "entryPoint": 6443, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_string": { - "entryPoint": 6380, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "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": { - "entryPoint": 7406, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "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": { - "entryPoint": 7723, - "id": null, - "parameterSlots": 5, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 6424, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 7156, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 7324, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 7255, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_dataslot_string_storage": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 7854, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_sub_t_uint256": { - "entryPoint": 7835, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 7453, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 7531, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "copy_memory_to_memory_with_cleanup": { - "entryPoint": 6344, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 7098, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "extract_used_part_and_set_length_of_short_byte_array": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 7813, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x12": { - "entryPoint": null, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x31": { - "entryPoint": 7873, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x32": { - "entryPoint": 7233, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 6685, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "validator_revert_bytes4": { - "entryPoint": 6293, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:16836:17", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:17", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "58:87:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "123:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "132:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "135:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "125:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "125:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "125:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "81:5:17" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "92:5:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "108:10:17", - "type": "", - "value": "0xffffffff" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "99:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "99:20:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "88:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "88:32:17" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "78:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "78:43:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "71:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "71:51:17" - }, - "nodeType": "YulIf", - "src": "68:71:17" - } - ] - }, - "name": "validator_revert_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "47:5:17", - "type": "" - } - ], - "src": "14:131:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "219:176:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "265:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "274:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "277:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "267:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "267:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "267:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "240:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "249:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "236:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "236:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "261:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "232:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "232:32:17" - }, - "nodeType": "YulIf", - "src": "229:52:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "290:36:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "316:9:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "303:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "303:23:17" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "294:5:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "359:5:17" - } - ], - "functionName": { - "name": "validator_revert_bytes4", - "nodeType": "YulIdentifier", - "src": "335:23:17" - }, - "nodeType": "YulFunctionCall", - "src": "335:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "335:30:17" - }, - { - "nodeType": "YulAssignment", - "src": "374:15:17", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "384:5:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "374:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "185:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "196:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "208:6:17", - "type": "" - } - ], - "src": "150:245:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "495:92:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "505:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "517:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "528:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "513:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "513:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "505:4:17" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "547:9:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "572:6:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "565:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "565:14:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "558:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "558:22:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "540:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "540:41:17" - }, - "nodeType": "YulExpressionStatement", - "src": "540:41:17" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "464:9:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "475:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "486:4:17", - "type": "" - } - ], - "src": "400:187:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "658:184:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "668:10:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "677:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "672:1:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "737:63:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "762:3:17" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "767:1:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "758:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "758:11:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "781:3:17" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "786:1:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "777:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "777:11:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "771:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "771:18:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "751:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "751:39:17" - }, - "nodeType": "YulExpressionStatement", - "src": "751:39:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "698:1:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "701:6:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "695:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "695:13:17" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "709:19:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "711:15:17", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "720:1:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "723:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "716:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "716:10:17" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "711:1:17" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "691:3:17", - "statements": [] - }, - "src": "687:113:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "820:3:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "825:6:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "816:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "816:16:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "834:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "809:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "809:27:17" - }, - "nodeType": "YulExpressionStatement", - "src": "809:27:17" - } - ] - }, - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "636:3:17", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "641:3:17", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "646:6:17", - "type": "" - } - ], - "src": "592:250:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "897:221:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "907:26:17", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "927:5:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "921:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "921:12:17" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "911:6:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "949:3:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "954:6:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "942:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "942:19:17" - }, - "nodeType": "YulExpressionStatement", - "src": "942:19:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1009:5:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1016:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1005:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1005:16:17" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1027:3:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1032:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1023:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1023:14:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1039:6:17" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "970:34:17" - }, - "nodeType": "YulFunctionCall", - "src": "970:76:17" - }, - "nodeType": "YulExpressionStatement", - "src": "970:76:17" - }, - { - "nodeType": "YulAssignment", - "src": "1055:57:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1070:3:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1083:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1091:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1079:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1079:15:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1100:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1096:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1096:7:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1075:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1075:29:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1066:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1066:39:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1107:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1062:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1062:50:17" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1055:3:17" - } - ] - } - ] - }, - "name": "abi_encode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "874:5:17", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "881:3:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "889:3:17", - "type": "" - } - ], - "src": "847:271:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1244:99:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1261:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1272:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1254:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1254:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1254:21:17" - }, - { - "nodeType": "YulAssignment", - "src": "1284:53:17", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1310:6:17" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1322:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1333:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1318:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1318:18:17" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "1292:17:17" - }, - "nodeType": "YulFunctionCall", - "src": "1292:45:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1284:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1213:9:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1224:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1235:4:17", - "type": "" - } - ], - "src": "1123:220:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1418:110:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1464:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1473:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1476:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1466:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1466:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1466:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1439:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1448:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1435:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1435:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1460:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1431:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1431:32:17" - }, - "nodeType": "YulIf", - "src": "1428:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "1489:33:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1512:9:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1499:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "1499:23:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1489:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1384:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1395:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1407:6:17", - "type": "" - } - ], - "src": "1348:180:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1634:102:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1644:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1656:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1667:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1652:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1652:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1644:4:17" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1686:9:17" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1701:6:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1717:3:17", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1722:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1713:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1713:11:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1726:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1709:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1709:19:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1697:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1697:32:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1679:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1679:51:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1679:51:17" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1603:9:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1614:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1625:4:17", - "type": "" - } - ], - "src": "1533:203:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1790:124:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1800:29:17", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1822:6:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1809:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "1809:20:17" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1800:5:17" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1892:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1901:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1904:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1894:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1894:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "1894:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1851:5:17" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1862:5:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1877:3:17", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1882:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1873:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1873:11:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1886:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1869:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1869:19:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1858:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "1858:31:17" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1848:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "1848:42:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1841:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "1841:50:17" - }, - "nodeType": "YulIf", - "src": "1838:70:17" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1769:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1780:5:17", - "type": "" - } - ], - "src": "1741:173:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2006:167:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2052:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2061:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2064:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2054:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2054:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2054:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2027:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2036:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2023:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2023:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2048:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2019:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2019:32:17" - }, - "nodeType": "YulIf", - "src": "2016:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "2077:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2106:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2087:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "2087:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2077:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2125:42:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2152:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2163:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2148:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2148:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2135:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "2135:32:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2125:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1964:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1975:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1987:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1995:6:17", - "type": "" - } - ], - "src": "1919:254:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2279:76:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2289:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2301:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2312:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2297:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2297:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2289:4:17" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2331:9:17" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2342:6:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2324:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2324:25:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2324:25:17" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2248:9:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2259:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2270:4:17", - "type": "" - } - ], - "src": "2178:177:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2464:224:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2510:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2519:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2522:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2512:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2512:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2512:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2485:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2494:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2481:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2481:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2506:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2477:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2477:32:17" - }, - "nodeType": "YulIf", - "src": "2474:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "2535:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2564:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2545:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "2545:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2535:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2583:48:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2616:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2627:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2612:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2612:18:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2593:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "2593:38:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2583:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2640:42:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2667:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2678:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2663:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2663:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2650:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "2650:32:17" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2640:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2414:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2425:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2437:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2445:6:17", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2453:6:17", - "type": "" - } - ], - "src": "2360:328:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2763:116:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2809:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2818:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2821:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2811:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "2811:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "2811:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2784:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2793:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2780:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2780:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2805:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2776:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2776:32:17" - }, - "nodeType": "YulIf", - "src": "2773:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "2834:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2863:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2844:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "2844:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2834:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2729:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2740:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2752:6:17", - "type": "" - } - ], - "src": "2693:186:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2968:263:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3014:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3023:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3026:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3016:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3016:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3016:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2989:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2998:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2985:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2985:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3010:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2981:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "2981:32:17" - }, - "nodeType": "YulIf", - "src": "2978:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "3039:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3068:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3049:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "3049:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3039:6:17" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3087:45:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3117:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3128:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3113:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3113:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3100:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "3100:32:17" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3091:5:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3185:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3194:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3197:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3187:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3187:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3187:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3154:5:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3175:5:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3168:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3168:13:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3161:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3161:21:17" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3151:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3151:32:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3144:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3144:40:17" - }, - "nodeType": "YulIf", - "src": "3141:60:17" - }, - { - "nodeType": "YulAssignment", - "src": "3210:15:17", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3220:5:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3210:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2926:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2937:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2949:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2957:6:17", - "type": "" - } - ], - "src": "2884:347:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3268:95:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3285:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3292:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3297:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3288:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3288:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3278:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3278:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3278:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3325:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3328:4:17", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3318:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3318:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3318:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3349:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3352:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3342:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3342:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3342:15:17" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "3236:127:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3442:557:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3452:28:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3462:18:17", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3456:2:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3507:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "3509:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "3509:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3509:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3495:6:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3503:2:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3492:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3492:14:17" - }, - "nodeType": "YulIf", - "src": "3489:40:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3538:17:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3552:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3548:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3548:7:17" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "3542:2:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3564:23:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3584:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3578:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "3578:9:17" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "3568:6:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3596:73:17", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3618:6:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3642:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3650:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3638:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3638:15:17" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3655:2:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3634:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3634:24:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3660:2:17", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3630:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3630:33:17" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3665:2:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3626:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3626:42:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3614:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3614:55:17" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "3600:10:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3728:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "3730:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "3730:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3730:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3687:10:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3699:2:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3684:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3684:18:17" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3707:10:17" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3719:6:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3704:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3704:22:17" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "3681:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3681:46:17" - }, - "nodeType": "YulIf", - "src": "3678:72:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3766:2:17", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3770:10:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3759:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3759:22:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3759:22:17" - }, - { - "nodeType": "YulAssignment", - "src": "3790:15:17", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3799:6:17" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "3790:5:17" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3821:6:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3829:6:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3814:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3814:22:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3814:22:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3874:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3883:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3886:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3876:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3876:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3876:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3855:3:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3860:6:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3851:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3851:16:17" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3869:3:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3848:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "3848:25:17" - }, - "nodeType": "YulIf", - "src": "3845:45:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3916:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3924:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3912:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3912:17:17" - }, - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3931:3:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3936:6:17" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "3899:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "3899:44:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3899:44:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3967:6:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3975:6:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3963:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3963:19:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3984:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3959:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "3959:30:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3991:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3952:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "3952:41:17" - }, - "nodeType": "YulExpressionStatement", - "src": "3952:41:17" - } - ] - }, - "name": "abi_decode_available_length_bytes", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "3411:3:17", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "3416:6:17", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3424:3:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "3432:5:17", - "type": "" - } - ], - "src": "3368:631:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4134:536:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4181:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4190:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4193:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4183:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4183:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4183:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4155:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4164:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4151:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4151:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4176:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4147:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4147:33:17" - }, - "nodeType": "YulIf", - "src": "4144:53:17" - }, - { - "nodeType": "YulAssignment", - "src": "4206:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4235:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "4216:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "4216:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4206:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4254:48:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4287:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4298:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4283:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4283:18:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "4264:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "4264:38:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4254:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4311:42:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4338:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4349:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4334:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4334:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4321:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "4321:32:17" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "4311:6:17" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4362:46:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4393:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4404:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4389:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4389:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4376:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "4376:32:17" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4366:6:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4451:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4460:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4463:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4453:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4453:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4453:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4423:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4431:18:17", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4420:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "4420:30:17" - }, - "nodeType": "YulIf", - "src": "4417:50:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4476:32:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4490:9:17" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4501:6:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4486:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4486:22:17" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4480:2:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4556:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4565:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4568:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4558:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4558:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4558:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4535:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4539:4:17", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4531:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4531:13:17" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4546:7:17" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4527:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4527:27:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4520:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4520:35:17" - }, - "nodeType": "YulIf", - "src": "4517:55:17" - }, - { - "nodeType": "YulAssignment", - "src": "4581:83:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4629:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4633:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4625:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4625:11:17" - }, - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4651:2:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4638:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "4638:16:17" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4656:7:17" - } - ], - "functionName": { - "name": "abi_decode_available_length_bytes", - "nodeType": "YulIdentifier", - "src": "4591:33:17" - }, - "nodeType": "YulFunctionCall", - "src": "4591:73:17" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4581:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4076:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4087:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4099:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4107:6:17", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4115:6:17", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "4123:6:17", - "type": "" - } - ], - "src": "4004:666:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4772:427:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4818:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4827:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4830:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4820:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4820:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4820:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4793:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4802:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4789:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4789:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4814:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4785:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4785:32:17" - }, - "nodeType": "YulIf", - "src": "4782:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "4843:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4872:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "4853:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "4853:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4843:6:17" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4891:46:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4922:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4933:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4918:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "4918:18:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4905:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "4905:32:17" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4895:6:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4980:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4989:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4992:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4982:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "4982:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "4982:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4952:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4960:18:17", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4949:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "4949:30:17" - }, - "nodeType": "YulIf", - "src": "4946:50:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5005:32:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5019:9:17" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5030:6:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5015:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5015:22:17" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "5009:2:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5085:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5094:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5097:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5087:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5087:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5087:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5064:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5068:4:17", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5060:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5060:13:17" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5075:7:17" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5056:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5056:27:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5049:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5049:35:17" - }, - "nodeType": "YulIf", - "src": "5046:55:17" - }, - { - "nodeType": "YulAssignment", - "src": "5110:83:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5158:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5162:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5154:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5154:11:17" - }, - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5180:2:17" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5167:12:17" - }, - "nodeType": "YulFunctionCall", - "src": "5167:16:17" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5185:7:17" - } - ], - "functionName": { - "name": "abi_decode_available_length_bytes", - "nodeType": "YulIdentifier", - "src": "5120:33:17" - }, - "nodeType": "YulFunctionCall", - "src": "5120:73:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5110:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4730:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4741:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4753:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4761:6:17", - "type": "" - } - ], - "src": "4675:524:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5291:173:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5337:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5346:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5349:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5339:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5339:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5339:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5312:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5321:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5308:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5308:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5333:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5304:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5304:32:17" - }, - "nodeType": "YulIf", - "src": "5301:52:17" - }, - { - "nodeType": "YulAssignment", - "src": "5362:39:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5391:9:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "5372:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "5372:29:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5362:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5410:48:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5443:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5454:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5439:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5439:18:17" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "5420:18:17" - }, - "nodeType": "YulFunctionCall", - "src": "5420:38:17" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5410:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5249:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5260:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5272:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5280:6:17", - "type": "" - } - ], - "src": "5204:260:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5524:325:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5534:22:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5548:1:17", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "5551:4:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "5544:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5544:12:17" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5534:6:17" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5565:38:17", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "5595:4:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5601:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5591:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5591:12:17" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "5569:18:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5642:31:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5644:27:17", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5658:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5666:4:17", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5654:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5654:17:17" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5644:6:17" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "5622:18:17" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5615:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5615:26:17" - }, - "nodeType": "YulIf", - "src": "5612:61:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5732:111:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5753:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5760:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5765:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "5756:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "5756:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5746:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5746:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5746:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5797:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5800:4:17", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5790:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5790:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5790:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5825:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5828:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5818:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "5818:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "5818:15:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "5688:18:17" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5711:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5719:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5708:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "5708:14:17" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5685:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "5685:38:17" - }, - "nodeType": "YulIf", - "src": "5682:161:17" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "5504:4:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "5513:6:17", - "type": "" - } - ], - "src": "5469:380:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6028:223:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6045:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6056:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6038:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6038:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6038:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6079:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6090:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6075:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6075:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6095:2:17", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6068:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6068:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6068:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6118:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6129:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6114:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6114:18:17" - }, - { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6134:34:17", - "type": "", - "value": "ERC721: approval to current owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6107:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6107:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6107:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6189:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6200:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6185:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6185:18:17" - }, - { - "hexValue": "72", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6205:3:17", - "type": "", - "value": "r" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6178:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6178:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6178:31:17" - }, - { - "nodeType": "YulAssignment", - "src": "6218:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6230:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6241:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6226:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6226:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6218:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6005:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6019:4:17", - "type": "" - } - ], - "src": "5854:397:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6430:251:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6447:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6458:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6440:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6440:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6440:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6481:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6492:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6477:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6477:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6497:2:17", - "type": "", - "value": "61" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6470:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6470:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6470:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6520:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6531:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6516:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6516:18:17" - }, - { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6536:34:17", - "type": "", - "value": "ERC721: approve caller is not to" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6509:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6509:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6509:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6591:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6602:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6587:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6587:18:17" - }, - { - "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6607:31:17", - "type": "", - "value": "ken owner or approved for all" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6580:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6580:59:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6580:59:17" - }, - { - "nodeType": "YulAssignment", - "src": "6648:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6660:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6671:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6656:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6656:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6648:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6407:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6421:4:17", - "type": "" - } - ], - "src": "6256:425:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6860:235:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6877:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6888:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6870:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6870:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6870:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6911:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6922:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6907:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6907:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6927:2:17", - "type": "", - "value": "45" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6900:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6900:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6900:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6950:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6961:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6946:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "6946:18:17" - }, - { - "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6966:34:17", - "type": "", - "value": "ERC721: caller is not token owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6939:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "6939:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "6939:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7021:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7032:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7017:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7017:18:17" - }, - { - "hexValue": "72206f7220617070726f766564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7037:15:17", - "type": "", - "value": "r or approved" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7010:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7010:43:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7010:43:17" - }, - { - "nodeType": "YulAssignment", - "src": "7062:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7074:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7085:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7070:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7070:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7062:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6837:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6851:4:17", - "type": "" - } - ], - "src": "6686:409:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7274:233:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7291:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7302:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7284:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7284:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7284:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7325:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7336:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7321:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7321:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7341:2:17", - "type": "", - "value": "43" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7314:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7314:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7314:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7364:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7375:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7360:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7360:18:17" - }, - { - "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f75", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7380:34:17", - "type": "", - "value": "ERC721Enumerable: owner index ou" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7353:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7353:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7353:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7435:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7446:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7431:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7431:18:17" - }, - { - "hexValue": "74206f6620626f756e6473", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7451:13:17", - "type": "", - "value": "t of bounds" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7424:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7424:41:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7424:41:17" - }, - { - "nodeType": "YulAssignment", - "src": "7474:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7486:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7497:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7482:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7482:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7474:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7251:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7265:4:17", - "type": "" - } - ], - "src": "7100:407:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7686:234:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7703:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7714:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7696:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7696:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7696:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7737:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7748:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7733:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7733:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7753:2:17", - "type": "", - "value": "44" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7726:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7726:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7726:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7776:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7787:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7772:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7772:18:17" - }, - { - "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7792:34:17", - "type": "", - "value": "ERC721Enumerable: global index o" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7765:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7765:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7765:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7847:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7858:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7843:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7843:18:17" - }, - { - "hexValue": "7574206f6620626f756e6473", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7863:14:17", - "type": "", - "value": "ut of bounds" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7836:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7836:42:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7836:42:17" - }, - { - "nodeType": "YulAssignment", - "src": "7887:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7899:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7910:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7895:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7895:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7887:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7663:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7677:4:17", - "type": "" - } - ], - "src": "7512:408:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7957:95:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7974:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7981:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7986:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "7977:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "7977:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7967:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "7967:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "7967:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8014:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8017:4:17", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8007:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8007:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8007:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8038:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8041:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8031:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8031:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8031:15:17" - } - ] - }, - "name": "panic_error_0x32", - "nodeType": "YulFunctionDefinition", - "src": "7925:127:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8231:174:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8248:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8259:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8241:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8241:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8241:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8282:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8293:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8278:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8278:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8298:2:17", - "type": "", - "value": "24" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8271:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8271:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8271:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8321:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8332:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8317:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8317:18:17" - }, - { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8337:26:17", - "type": "", - "value": "ERC721: invalid token ID" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8310:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8310:54:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8310:54:17" - }, - { - "nodeType": "YulAssignment", - "src": "8373:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8385:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8396:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8381:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8381:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8373:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8208:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8222:4:17", - "type": "" - } - ], - "src": "8057:348:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8584:231:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8601:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8612:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8594:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8594:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8594:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8635:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8646:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8631:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8631:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8651:2:17", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8624:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8624:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8624:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8674:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8685:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8670:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8670:18:17" - }, - { - "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8690:34:17", - "type": "", - "value": "ERC721: address zero is not a va" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8663:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8663:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8663:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8745:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8756:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8741:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8741:18:17" - }, - { - "hexValue": "6c6964206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "8761:11:17", - "type": "", - "value": "lid owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8734:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "8734:39:17" - }, - "nodeType": "YulExpressionStatement", - "src": "8734:39:17" - }, - { - "nodeType": "YulAssignment", - "src": "8782:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8794:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8805:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8790:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "8790:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8782:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8561:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8575:4:17", - "type": "" - } - ], - "src": "8410:405:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8994:228:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9011:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9022:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9004:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9004:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9004:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9045:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9056:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9041:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9041:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9061:2:17", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9034:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9034:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9034:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9084:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9095:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9080:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9080:18:17" - }, - { - "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9100:34:17", - "type": "", - "value": "Ownable: new owner is the zero a" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9073:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9073:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9073:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9155:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9166:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9151:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9151:18:17" - }, - { - "hexValue": "646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9171:8:17", - "type": "", - "value": "ddress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9144:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9144:36:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9144:36:17" - }, - { - "nodeType": "YulAssignment", - "src": "9189:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9201:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9212:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9197:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9197:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9189:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8971:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8985:4:17", - "type": "" - } - ], - "src": "8820:402:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9401:227:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9418:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9429:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9411:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9411:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9411:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9452:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9463:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9448:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9448:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9468:2:17", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9441:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9441:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9441:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9491:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9502:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9487:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9487:18:17" - }, - { - "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9507:34:17", - "type": "", - "value": "ERC721: transfer from incorrect " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9480:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9480:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9480:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9562:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9573:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9558:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9558:18:17" - }, - { - "hexValue": "6f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9578:7:17", - "type": "", - "value": "owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9551:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9551:35:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9551:35:17" - }, - { - "nodeType": "YulAssignment", - "src": "9595:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9607:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9618:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9603:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9603:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9595:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9378:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9392:4:17", - "type": "" - } - ], - "src": "9227:401:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9807:226:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9824:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9835:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9817:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9817:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9817:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9858:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9869:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9854:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9854:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9874:2:17", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9847:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9847:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9847:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9897:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9908:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9893:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9893:18:17" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9913:34:17", - "type": "", - "value": "ERC721: transfer to the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9886:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9886:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9886:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9968:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9979:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9964:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "9964:18:17" - }, - { - "hexValue": "72657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "9984:6:17", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9957:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "9957:34:17" - }, - "nodeType": "YulExpressionStatement", - "src": "9957:34:17" - }, - { - "nodeType": "YulAssignment", - "src": "10000:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10012:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10023:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10008:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10008:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10000:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9784:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9798:4:17", - "type": "" - } - ], - "src": "9633:400:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10212:182:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10229:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10240:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10222:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10222:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10222:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10263:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10274:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10259:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10259:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10279:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10252:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10252:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10252:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10302:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10313:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10298:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10298:18:17" - }, - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "10318:34:17", - "type": "", - "value": "Ownable: caller is not the owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10291:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10291:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10291:62:17" - }, - { - "nodeType": "YulAssignment", - "src": "10362:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10374:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10385:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10370:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10370:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10362:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10189:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10203:4:17", - "type": "" - } - ], - "src": "10038:356:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10573:175:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10590:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10601:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10583:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10583:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10583:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10624:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10635:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10620:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10620:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10640:2:17", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10613:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10613:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10613:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10663:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10674:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10659:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10659:18:17" - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "10679:27:17", - "type": "", - "value": "ERC721: approve to caller" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10652:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10652:55:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10652:55:17" - }, - { - "nodeType": "YulAssignment", - "src": "10716:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10728:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10739:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10724:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10724:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10716:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10550:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10564:4:17", - "type": "" - } - ], - "src": "10399:349:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10927:240:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10944:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10955:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10937:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10937:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10937:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10978:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10989:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10974:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "10974:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10994:2:17", - "type": "", - "value": "50" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10967:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "10967:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "10967:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11017:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11028:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11013:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "11013:18:17" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11033:34:17", - "type": "", - "value": "ERC721: transfer to non ERC721Re" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11006:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "11006:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "11006:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11088:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11099:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11084:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "11084:18:17" - }, - { - "hexValue": "63656976657220696d706c656d656e746572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11104:20:17", - "type": "", - "value": "ceiver implementer" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11077:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "11077:48:17" - }, - "nodeType": "YulExpressionStatement", - "src": "11077:48:17" - }, - { - "nodeType": "YulAssignment", - "src": "11134:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11146:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11157:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11142:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "11142:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "11134:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10904:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10918:4:17", - "type": "" - } - ], - "src": "10753:414:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11359:309:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "11369:27:17", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11389:6:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "11383:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "11383:13:17" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11373:6:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11444:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11452:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11440:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "11440:17:17" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11459:3:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11464:6:17" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "11405:34:17" - }, - "nodeType": "YulFunctionCall", - "src": "11405:66:17" - }, - "nodeType": "YulExpressionStatement", - "src": "11405:66:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11480:29:17", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11497:3:17" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11502:6:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11493:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "11493:16:17" - }, - "variables": [ - { - "name": "end_1", - "nodeType": "YulTypedName", - "src": "11484:5:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11518:29:17", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11540:6:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "11534:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "11534:13:17" - }, - "variables": [ - { - "name": "length_1", - "nodeType": "YulTypedName", - "src": "11522:8:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11595:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11603:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11591:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "11591:17:17" - }, - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "11610:5:17" - }, - { - "name": "length_1", - "nodeType": "YulIdentifier", - "src": "11617:8:17" - } - ], - "functionName": { - "name": "copy_memory_to_memory_with_cleanup", - "nodeType": "YulIdentifier", - "src": "11556:34:17" - }, - "nodeType": "YulFunctionCall", - "src": "11556:70:17" - }, - "nodeType": "YulExpressionStatement", - "src": "11556:70:17" - }, - { - "nodeType": "YulAssignment", - "src": "11635:27:17", - "value": { - "arguments": [ - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "11646:5:17" - }, - { - "name": "length_1", - "nodeType": "YulIdentifier", - "src": "11653:8:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11642:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "11642:20:17" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11635:3:17" - } - ] - } - ] - }, - "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": "11327:3:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11332:6:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11340:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11351:3:17", - "type": "" - } - ], - "src": "11172:496:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11847:236:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11864:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11875:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11857:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "11857:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "11857:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11898:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11909:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11894:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "11894:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11914:2:17", - "type": "", - "value": "46" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11887:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "11887:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "11887:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11937:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11948:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11933:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "11933:18:17" - }, - { - "hexValue": "45524337323155524953746f726167653a2055524920736574206f66206e6f6e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "11953:34:17", - "type": "", - "value": "ERC721URIStorage: URI set of non" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11926:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "11926:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "11926:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12008:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12019:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12004:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12004:18:17" - }, - { - "hexValue": "6578697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "12024:16:17", - "type": "", - "value": "existent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11997:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "11997:44:17" - }, - "nodeType": "YulExpressionStatement", - "src": "11997:44:17" - }, - { - "nodeType": "YulAssignment", - "src": "12050:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12062:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12073:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12058:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12058:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12050:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11824:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11838:4:17", - "type": "" - } - ], - "src": "11673:410:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12144:65:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12161:1:17", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "12164:3:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12154:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "12154:14:17" - }, - "nodeType": "YulExpressionStatement", - "src": "12154:14:17" - }, - { - "nodeType": "YulAssignment", - "src": "12177:26:17", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12195:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12198:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "12185:9:17" - }, - "nodeType": "YulFunctionCall", - "src": "12185:18:17" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12177:4:17" - } - ] - } - ] - }, - "name": "array_dataslot_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "12127:3:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "12135:4:17", - "type": "" - } - ], - "src": "12088:121:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12295:464:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "12328:425:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12342:11:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12352:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "12346:2:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "12373:2:17" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "12377:5:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12366:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "12366:17:17" - }, - "nodeType": "YulExpressionStatement", - "src": "12366:17:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12396:31:17", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "12418:2:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12422:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "12408:9:17" - }, - "nodeType": "YulFunctionCall", - "src": "12408:19:17" - }, - "variables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "12400:4:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12440:57:17", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12463:4:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12473:1:17", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "12480:10:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12492:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12476:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12476:19:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "12469:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12469:27:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12459:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12459:38:17" - }, - "variables": [ - { - "name": "deleteStart", - "nodeType": "YulTypedName", - "src": "12444:11:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12534:23:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12536:19:17", - "value": { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12551:4:17" - }, - "variableNames": [ - { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "12536:11:17" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "12516:10:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12528:4:17", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "12513:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "12513:20:17" - }, - "nodeType": "YulIf", - "src": "12510:47:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12570:41:17", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12584:4:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12594:1:17", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "12601:3:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12606:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12597:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12597:12:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "12590:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12590:20:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12580:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12580:31:17" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "12574:2:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12624:24:17", - "value": { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "12637:11:17" - }, - "variables": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "12628:5:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12722:21:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "12731:5:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "12738:2:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "12724:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "12724:17:17" - }, - "nodeType": "YulExpressionStatement", - "src": "12724:17:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "12672:5:17" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "12679:2:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "12669:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "12669:13:17" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "12683:26:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12685:22:17", - "value": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "12698:5:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12705:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12694:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12694:13:17" - }, - "variableNames": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "12685:5:17" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "12665:3:17", - "statements": [] - }, - "src": "12661:82:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "12311:3:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12316:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "12308:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "12308:11:17" - }, - "nodeType": "YulIf", - "src": "12305:448:17" - } - ] - }, - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "12267:5:17", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "12274:3:17", - "type": "" - }, - { - "name": "startIndex", - "nodeType": "YulTypedName", - "src": "12279:10:17", - "type": "" - } - ], - "src": "12214:545:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12849:81:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12859:65:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "12874:4:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12892:1:17", - "type": "", - "value": "3" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "12895:3:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "12888:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12888:11:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12905:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "12901:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12901:6:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "12884:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12884:24:17" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "12880:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12880:29:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "12870:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12870:40:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12916:1:17", - "type": "", - "value": "1" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "12919:3:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "12912:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "12912:11:17" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "12867:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "12867:57:17" - }, - "variableNames": [ - { - "name": "used", - "nodeType": "YulIdentifier", - "src": "12859:4:17" - } - ] - } - ] - }, - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "12826:4:17", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "12832:3:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "used", - "nodeType": "YulTypedName", - "src": "12840:4:17", - "type": "" - } - ], - "src": "12764:166:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13031:1256:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13041:24:17", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "13061:3:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13055:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "13055:10:17" - }, - "variables": [ - { - "name": "newLen", - "nodeType": "YulTypedName", - "src": "13045:6:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13108:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "13110:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "13110:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "13110:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "13080:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13088:18:17", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "13077:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "13077:30:17" - }, - "nodeType": "YulIf", - "src": "13074:56:17" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "13183:4:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "13221:4:17" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "13215:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "13215:11:17" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nodeType": "YulIdentifier", - "src": "13189:25:17" - }, - "nodeType": "YulFunctionCall", - "src": "13189:38:17" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "13229:6:17" - } - ], - "functionName": { - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulIdentifier", - "src": "13139:43:17" - }, - "nodeType": "YulFunctionCall", - "src": "13139:97:17" - }, - "nodeType": "YulExpressionStatement", - "src": "13139:97:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13245:18:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13262:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "srcOffset", - "nodeType": "YulTypedName", - "src": "13249:9:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13272:23:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13291:4:17", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "srcOffset_1", - "nodeType": "YulTypedName", - "src": "13276:11:17", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "13304:24:17", - "value": { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "13317:11:17" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "13304:9:17" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "13374:656:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13388:35:17", - "value": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "13407:6:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13419:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "13415:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13415:7:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13403:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13403:20:17" - }, - "variables": [ - { - "name": "loopEnd", - "nodeType": "YulTypedName", - "src": "13392:7:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13436:49:17", - "value": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "13480:4:17" - } - ], - "functionName": { - "name": "array_dataslot_string_storage", - "nodeType": "YulIdentifier", - "src": "13450:29:17" - }, - "nodeType": "YulFunctionCall", - "src": "13450:35:17" - }, - "variables": [ - { - "name": "dstPtr", - "nodeType": "YulTypedName", - "src": "13440:6:17", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13498:10:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13507:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "13502:1:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13585:172:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "13610:6:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "13628:3:17" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "13633:9:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13624:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13624:19:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13618:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "13618:26:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "13603:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "13603:42:17" - }, - "nodeType": "YulExpressionStatement", - "src": "13603:42:17" - }, - { - "nodeType": "YulAssignment", - "src": "13662:24:17", - "value": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "13676:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13684:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13672:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13672:14:17" - }, - "variableNames": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "13662:6:17" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "13703:40:17", - "value": { - "arguments": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "13720:9:17" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "13731:11:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13716:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13716:27:17" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "13703:9:17" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "13532:1:17" - }, - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "13535:7:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "13529:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "13529:14:17" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "13544:28:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13546:24:17", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "13555:1:17" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "13558:11:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13551:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13551:19:17" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "13546:1:17" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "13525:3:17", - "statements": [] - }, - "src": "13521:236:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13805:166:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13823:43:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "13850:3:17" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "13855:9:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13846:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13846:19:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13840:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "13840:26:17" - }, - "variables": [ - { - "name": "lastValue", - "nodeType": "YulTypedName", - "src": "13827:9:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "13890:6:17" - }, - { - "arguments": [ - { - "name": "lastValue", - "nodeType": "YulIdentifier", - "src": "13902:9:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13929:1:17", - "type": "", - "value": "3" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "13932:6:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "13925:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13925:14:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13941:3:17", - "type": "", - "value": "248" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13921:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13921:24:17" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13951:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "13947:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13947:6:17" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "13917:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13917:37:17" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "13913:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13913:42:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13898:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13898:58:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "13883:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "13883:74:17" - }, - "nodeType": "YulExpressionStatement", - "src": "13883:74:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "13776:7:17" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "13785:6:17" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "13773:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "13773:19:17" - }, - "nodeType": "YulIf", - "src": "13770:201:17" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "13991:4:17" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14005:1:17", - "type": "", - "value": "1" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "14008:6:17" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "14001:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14001:14:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14017:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13997:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "13997:22:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "13984:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "13984:36:17" - }, - "nodeType": "YulExpressionStatement", - "src": "13984:36:17" - } - ] - }, - "nodeType": "YulCase", - "src": "13367:663:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13372:1:17", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14047:234:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "14061:14:17", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14074:1:17", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "14065:5:17", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14110:67:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14128:35:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "14147:3:17" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "14152:9:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14143:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14143:19:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "14137:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "14137:26:17" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "14128:5:17" - } - ] - } - ] - }, - "condition": { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "14091:6:17" - }, - "nodeType": "YulIf", - "src": "14088:89:17" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "14197:4:17" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "14256:5:17" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "14263:6:17" - } - ], - "functionName": { - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulIdentifier", - "src": "14203:52:17" - }, - "nodeType": "YulFunctionCall", - "src": "14203:67:17" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "14190:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "14190:81:17" - }, - "nodeType": "YulExpressionStatement", - "src": "14190:81:17" - } - ] - }, - "nodeType": "YulCase", - "src": "14039:242:17", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "13347:6:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13355:2:17", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "13344:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "13344:14:17" - }, - "nodeType": "YulSwitch", - "src": "13337:944:17" - } - ] - }, - "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "13016:4:17", - "type": "" - }, - { - "name": "src", - "nodeType": "YulTypedName", - "src": "13022:3:17", - "type": "" - } - ], - "src": "12935:1352:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14495:286:17", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "14505:29:17", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14523:3:17", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14528:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "14519:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14519:11:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14532:1:17", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14515:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14515:19:17" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "14509:2:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14550:9:17" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14565:6:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "14573:2:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "14561:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14561:15:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14543:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "14543:34:17" - }, - "nodeType": "YulExpressionStatement", - "src": "14543:34:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14597:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14608:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14593:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14593:18:17" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "14617:6:17" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "14625:2:17" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "14613:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14613:15:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14586:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "14586:43:17" - }, - "nodeType": "YulExpressionStatement", - "src": "14586:43:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14649:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14660:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14645:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14645:18:17" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "14665:6:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14638:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "14638:34:17" - }, - "nodeType": "YulExpressionStatement", - "src": "14638:34:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14692:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14703:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14688:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14688:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14708:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14681:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "14681:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "14681:31:17" - }, - { - "nodeType": "YulAssignment", - "src": "14721:54:17", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "14747:6:17" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14759:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14770:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14755:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14755:19:17" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "14729:17:17" - }, - "nodeType": "YulFunctionCall", - "src": "14729:46:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14721:4:17" - } - ] - } - ] - }, - "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": "14440:9:17", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "14451:6:17", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "14459:6:17", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "14467:6:17", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14475:6:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14486:4:17", - "type": "" - } - ], - "src": "14292:489:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14866:169:17", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "14912:16:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14921:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14924:1:17", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "14914:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "14914:12:17" - }, - "nodeType": "YulExpressionStatement", - "src": "14914:12:17" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "14887:7:17" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14896:9:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14883:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14883:23:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14908:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "14879:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "14879:32:17" - }, - "nodeType": "YulIf", - "src": "14876:52:17" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14937:29:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14956:9:17" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "14950:5:17" - }, - "nodeType": "YulFunctionCall", - "src": "14950:16:17" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "14941:5:17", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "14999:5:17" - } - ], - "functionName": { - "name": "validator_revert_bytes4", - "nodeType": "YulIdentifier", - "src": "14975:23:17" - }, - "nodeType": "YulFunctionCall", - "src": "14975:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "14975:30:17" - }, - { - "nodeType": "YulAssignment", - "src": "15014:15:17", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15024:5:17" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "15014:6:17" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes4_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14832:9:17", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "14843:7:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14855:6:17", - "type": "" - } - ], - "src": "14786:249:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15214:243:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15231:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15242:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15224:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "15224:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "15224:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15265:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15276:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15261:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "15261:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15281:2:17", - "type": "", - "value": "53" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15254:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "15254:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "15254:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15304:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15315:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15300:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "15300:18:17" - }, - { - "hexValue": "455243373231456e756d657261626c653a20636f6e7365637574697665207472", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15320:34:17", - "type": "", - "value": "ERC721Enumerable: consecutive tr" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15293:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "15293:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "15293:62:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15375:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15386:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15371:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "15371:18:17" - }, - { - "hexValue": "616e7366657273206e6f7420737570706f72746564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15391:23:17", - "type": "", - "value": "ansfers not supported" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15364:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "15364:51:17" - }, - "nodeType": "YulExpressionStatement", - "src": "15364:51:17" - }, - { - "nodeType": "YulAssignment", - "src": "15424:27:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15436:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15447:3:17", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15432:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "15432:19:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15424:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15191:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15205:4:17", - "type": "" - } - ], - "src": "15040:417:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15494:95:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15511:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15518:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15523:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "15514:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "15514:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15504:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "15504:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "15504:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15551:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15554:4:17", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15544:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "15544:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "15544:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15575:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15578:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "15568:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "15568:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "15568:15:17" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "15462:127:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15768:182:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15785:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15796:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15778:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "15778:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "15778:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15819:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15830:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15815:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "15815:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15835:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15808:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "15808:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "15808:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15858:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15869:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15854:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "15854:18:17" - }, - { - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "15874:34:17", - "type": "", - "value": "ERC721: mint to the zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15847:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "15847:62:17" - }, - "nodeType": "YulExpressionStatement", - "src": "15847:62:17" - }, - { - "nodeType": "YulAssignment", - "src": "15918:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15930:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15941:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15926:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "15926:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15918:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15745:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15759:4:17", - "type": "" - } - ], - "src": "15594:356:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16129:178:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16146:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16157:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16139:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "16139:21:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16139:21:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16180:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16191:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16176:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "16176:18:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16196:2:17", - "type": "", - "value": "28" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16169:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "16169:30:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16169:30:17" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16219:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16230:2:17", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16215:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "16215:18:17" - }, - { - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "16235:30:17", - "type": "", - "value": "ERC721: token already minted" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16208:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "16208:58:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16208:58:17" - }, - { - "nodeType": "YulAssignment", - "src": "16275:26:17", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16287:9:17" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16298:2:17", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16283:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "16283:18:17" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16275:4:17" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16106:9:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16120:4:17", - "type": "" - } - ], - "src": "15955:352:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16344:95:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16361:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16368:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16373:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "16364:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "16364:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16354:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "16354:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16354:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16401:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16404:4:17", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16394:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "16394:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16394:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16425:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16428:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "16418:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "16418:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16418:15:17" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "16312:127:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16493:79:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16503:17:17", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "16515:1:17" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "16518:1:17" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "16511:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "16511:9:17" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "16503:4:17" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16544:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "16546:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "16546:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16546:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "16535:4:17" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "16541:1:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "16532:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "16532:11:17" - }, - "nodeType": "YulIf", - "src": "16529:37:17" - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "16475:1:17", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "16478:1:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "16484:4:17", - "type": "" - } - ], - "src": "16444:128:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16625:77:17", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16635:16:17", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "16646:1:17" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "16649:1:17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16642:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "16642:9:17" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "16635:3:17" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16674:22:17", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "16676:16:17" - }, - "nodeType": "YulFunctionCall", - "src": "16676:18:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16676:18:17" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "16666:1:17" - }, - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "16669:3:17" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "16663:2:17" - }, - "nodeType": "YulFunctionCall", - "src": "16663:10:17" - }, - "nodeType": "YulIf", - "src": "16660:36:17" - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "16608:1:17", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "16611:1:17", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "16617:3:17", - "type": "" - } - ], - "src": "16577:125:17" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16739:95:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16756:1:17", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16763:3:17", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16768:10:17", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "16759:3:17" - }, - "nodeType": "YulFunctionCall", - "src": "16759:20:17" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16749:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "16749:31:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16749:31:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16796:1:17", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16799:4:17", - "type": "", - "value": "0x31" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16789:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "16789:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16789:15:17" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16820:1:17", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16823:4:17", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "16813:6:17" - }, - "nodeType": "YulFunctionCall", - "src": "16813:15:17" - }, - "nodeType": "YulExpressionStatement", - "src": "16813:15:17" - } - ] - }, - "name": "panic_error_0x31", - "nodeType": "YulFunctionDefinition", - "src": "16707:127:17" - } - ] - }, - "contents": "{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_available_length_bytes(src, length, end) -> array\n {\n let _1 := 0xffffffffffffffff\n if gt(length, _1) { panic_error_0x41() }\n let _2 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(length, 31), _2), 63), _2))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n array := memPtr\n mstore(memPtr, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), src, length)\n mstore(add(add(memPtr, length), 0x20), 0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n value3 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_decode_tuple_t_addresst_string_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n value1 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 43)\n mstore(add(headStart, 64), \"ERC721Enumerable: owner index ou\")\n mstore(add(headStart, 96), \"t of bounds\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"ERC721Enumerable: global index o\")\n mstore(add(headStart, 96), \"ut of bounds\")\n tail := add(headStart, 128)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\n }\n function abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"ERC721URIStorage: URI set of non\")\n mstore(add(headStart, 96), \"existent token\")\n tail := add(headStart, 128)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\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 function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 53)\n mstore(add(headStart, 64), \"ERC721Enumerable: consecutive tr\")\n mstore(add(headStart, 96), \"ansfers not supported\")\n tail := add(headStart, 128)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"ERC721: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"ERC721: token already minted\")\n tail := add(headStart, 96)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n}", - "id": 17, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106101375760003560e01c80636352211e116100b8578063a22cb4651161007c578063a22cb46514610271578063b88d4fde14610284578063c87b56dd14610297578063d204c45e146102aa578063e985e9c5146102bd578063f2fde38b146102f957600080fd5b80636352211e1461022a57806370a082311461023d578063715018a6146102505780638da5cb5b1461025857806395d89b411461026957600080fd5b806323b872dd116100ff57806323b872dd146101cb5780632f745c59146101de57806342842e0e146101f157806342966c68146102045780634f6ccce71461021757600080fd5b806301ffc9a71461013c57806306fdde0314610164578063081812fc14610179578063095ea7b3146101a457806318160ddd146101b9575b600080fd5b61014f61014a3660046118ab565b61030c565b60405190151581526020015b60405180910390f35b61016c61031d565b60405161015b9190611918565b61018c61018736600461192b565b6103af565b6040516001600160a01b03909116815260200161015b565b6101b76101b2366004611960565b6103d6565b005b6008545b60405190815260200161015b565b6101b76101d936600461198a565b6104f0565b6101bd6101ec366004611960565b610522565b6101b76101ff36600461198a565b6105b8565b6101b761021236600461192b565b6105d3565b6101bd61022536600461192b565b610604565b61018c61023836600461192b565b610697565b6101bd61024b3660046119c6565b6106f7565b6101b761077d565b600b546001600160a01b031661018c565b61016c610791565b6101b761027f3660046119e1565b6107a0565b6101b7610292366004611aa9565b6107af565b61016c6102a536600461192b565b6107e7565b6101b76102b8366004611b25565b6107f2565b61014f6102cb366004611b87565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101b76103073660046119c6565b610829565b60006103178261089f565b92915050565b60606000805461032c90611bba565b80601f016020809104026020016040519081016040528092919081815260200182805461035890611bba565b80156103a55780601f1061037a576101008083540402835291602001916103a5565b820191906000526020600020905b81548152906001019060200180831161038857829003601f168201915b5050505050905090565b60006103ba826108c4565b506000908152600460205260409020546001600160a01b031690565b60006103e182610697565b9050806001600160a01b0316836001600160a01b0316036104535760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061046f575061046f81336102cb565b6104e15760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161044a565b6104eb8383610923565b505050565b6104fb335b82610991565b6105175760405162461bcd60e51b815260040161044a90611bf4565b6104eb838383610a10565b600061052d836106f7565b821061058f5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161044a565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6104eb838383604051806020016040528060008152506107af565b6105dc336104f5565b6105f85760405162461bcd60e51b815260040161044a90611bf4565b61060181610b81565b50565b600061060f60085490565b82106106725760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161044a565b6008828154811061068557610685611c41565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806103175760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044a565b60006001600160a01b0382166107615760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161044a565b506001600160a01b031660009081526003602052604090205490565b610785610b8a565b61078f6000610be4565b565b60606001805461032c90611bba565b6107ab338383610c36565b5050565b6107b93383610991565b6107d55760405162461bcd60e51b815260040161044a90611bf4565b6107e184848484610d04565b50505050565b606061031782610d37565b6107fa610b8a565b6000610805600c5490565b9050610815600c80546001019055565b61081f8382610e4b565b6104eb8183610e65565b610831610b8a565b6001600160a01b0381166108965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044a565b61060181610be4565b60006001600160e01b0319821663780e9d6360e01b1480610317575061031782610ef8565b6000818152600260205260409020546001600160a01b03166106015760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044a565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061095882610697565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061099d83610697565b9050806001600160a01b0316846001600160a01b031614806109e457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610a085750836001600160a01b03166109fd846103af565b6001600160a01b0316145b949350505050565b826001600160a01b0316610a2382610697565b6001600160a01b031614610a495760405162461bcd60e51b815260040161044a90611c57565b6001600160a01b038216610aab5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161044a565b610ab88383836001610f48565b826001600160a01b0316610acb82610697565b6001600160a01b031614610af15760405162461bcd60e51b815260040161044a90611c57565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61060181610f54565b600b546001600160a01b0316331461078f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044a565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603610c975760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161044a565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610d0f848484610a10565b610d1b84848484610f94565b6107e15760405162461bcd60e51b815260040161044a90611c9c565b6060610d42826108c4565b6000828152600a602052604081208054610d5b90611bba565b80601f0160208091040260200160405190810160405280929190818152602001828054610d8790611bba565b8015610dd45780601f10610da957610100808354040283529160200191610dd4565b820191906000526020600020905b815481529060010190602001808311610db757829003601f168201915b505050505090506000610dfe6040805180820190915260048152631d195cdd60e21b602082015290565b90508051600003610e10575092915050565b815115610e42578082604051602001610e2a929190611cee565b60405160208183030381529060405292505050919050565b610a0884611095565b6107ab828260405180602001604052806000815250611115565b6000828152600260205260409020546001600160a01b0316610ee05760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161044a565b6000828152600a602052604090206104eb8282611d6b565b60006001600160e01b031982166380ac58cd60e01b1480610f2957506001600160e01b03198216635b5e139f60e01b145b8061031757506301ffc9a760e01b6001600160e01b0319831614610317565b6107e184848484611148565b610f5d81611288565b6000818152600a602052604090208054610f7690611bba565b159050610601576000818152600a6020526040812061060191611847565b60006001600160a01b0384163b1561108a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610fd8903390899088908890600401611e2b565b6020604051808303816000875af1925050508015611013575060408051601f3d908101601f1916820190925261101091810190611e68565b60015b611070573d808015611041576040519150601f19603f3d011682016040523d82523d6000602084013e611046565b606091505b5080516000036110685760405162461bcd60e51b815260040161044a90611c9c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610a08565b506001949350505050565b60606110a0826108c4565b60006110c36040805180820190915260048152631d195cdd60e21b602082015290565b905060008151116110e3576040518060200160405280600081525061110e565b806110ed8461132b565b6040516020016110fe929190611cee565b6040516020818303038152906040525b9392505050565b61111f83836113be565b61112c6000848484610f94565b6104eb5760405162461bcd60e51b815260040161044a90611c9c565b61115484848484611557565b60018111156111c35760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b606482015260840161044a565b816001600160a01b03851661121f5761121a81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611242565b836001600160a01b0316856001600160a01b0316146112425761124285826115df565b6001600160a01b03841661125e576112598161167c565b611281565b846001600160a01b0316846001600160a01b03161461128157611281848261172b565b5050505050565b600061129382610697565b90506112a3816000846001610f48565b6112ac82610697565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006113388361176f565b600101905060008167ffffffffffffffff81111561135857611358611a1d565b6040519080825280601f01601f191660200182016040528015611382576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461138c57509392505050565b6001600160a01b0382166114145760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161044a565b6000818152600260205260409020546001600160a01b0316156114795760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044a565b611487600083836001610f48565b6000818152600260205260409020546001600160a01b0316156114ec5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044a565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60018111156107e1576001600160a01b0384161561159d576001600160a01b03841660009081526003602052604081208054839290611597908490611e9b565b90915550505b6001600160a01b038316156107e1576001600160a01b038316600090815260036020526040812080548392906115d4908490611eae565b909155505050505050565b600060016115ec846106f7565b6115f69190611e9b565b600083815260076020526040902054909150808214611649576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061168e90600190611e9b565b600083815260096020526040812054600880549394509092849081106116b6576116b6611c41565b9060005260206000200154905080600883815481106116d7576116d7611c41565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061170f5761170f611ec1565b6001900381819060005260206000200160009055905550505050565b6000611736836106f7565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117ae5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106117da576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106117f857662386f26fc10000830492506010015b6305f5e1008310611810576305f5e100830492506008015b612710831061182457612710830492506004015b60648310611836576064830492506002015b600a83106103175760010192915050565b50805461185390611bba565b6000825580601f10611863575050565b601f01602090049060005260206000209081019061060191905b80821115611891576000815560010161187d565b5090565b6001600160e01b03198116811461060157600080fd5b6000602082840312156118bd57600080fd5b813561110e81611895565b60005b838110156118e35781810151838201526020016118cb565b50506000910152565b600081518084526119048160208601602086016118c8565b601f01601f19169290920160200192915050565b60208152600061110e60208301846118ec565b60006020828403121561193d57600080fd5b5035919050565b80356001600160a01b038116811461195b57600080fd5b919050565b6000806040838503121561197357600080fd5b61197c83611944565b946020939093013593505050565b60008060006060848603121561199f57600080fd5b6119a884611944565b92506119b660208501611944565b9150604084013590509250925092565b6000602082840312156119d857600080fd5b61110e82611944565b600080604083850312156119f457600080fd5b6119fd83611944565b915060208301358015158114611a1257600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611a4e57611a4e611a1d565b604051601f8501601f19908116603f01168101908282118183101715611a7657611a76611a1d565b81604052809350858152868686011115611a8f57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215611abf57600080fd5b611ac885611944565b9350611ad660208601611944565b925060408501359150606085013567ffffffffffffffff811115611af957600080fd5b8501601f81018713611b0a57600080fd5b611b1987823560208401611a33565b91505092959194509250565b60008060408385031215611b3857600080fd5b611b4183611944565b9150602083013567ffffffffffffffff811115611b5d57600080fd5b8301601f81018513611b6e57600080fd5b611b7d85823560208401611a33565b9150509250929050565b60008060408385031215611b9a57600080fd5b611ba383611944565b9150611bb160208401611944565b90509250929050565b600181811c90821680611bce57607f821691505b602082108103611bee57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611d008184602088016118c8565b835190830190611d148183602088016118c8565b01949350505050565b601f8211156104eb57600081815260208120601f850160051c81016020861015611d445750805b601f850160051c820191505b81811015611d6357828155600101611d50565b505050505050565b815167ffffffffffffffff811115611d8557611d85611a1d565b611d9981611d938454611bba565b84611d1d565b602080601f831160018114611dce5760008415611db65750858301515b600019600386901b1c1916600185901b178555611d63565b600085815260208120601f198616915b82811015611dfd57888601518255948401946001909101908401611dde565b5085821015611e1b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611e5e908301846118ec565b9695505050505050565b600060208284031215611e7a57600080fd5b815161110e81611895565b634e487b7160e01b600052601160045260246000fd5b8181038181111561031757610317611e85565b8082018082111561031757610317611e85565b634e487b7160e01b600052603160045260246000fdfea26469706673582212207960bc65d7484ab1502ccdc352c91f0fb91535a525cf99e1b6392e242548279a64736f6c63430008110033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x271 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x284 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x297 JUMPI DUP1 PUSH4 0xD204C45E EQ PUSH2 0x2AA JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x2BD JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x22A JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x23D JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x250 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x258 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x1F1 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x164 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1B9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x18AB JUMP JUMPDEST PUSH2 0x30C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16C PUSH2 0x31D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15B SWAP2 SWAP1 PUSH2 0x1918 JUMP JUMPDEST PUSH2 0x18C PUSH2 0x187 CALLDATASIZE PUSH1 0x4 PUSH2 0x192B JUMP JUMPDEST PUSH2 0x3AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x15B JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x1B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1960 JUMP JUMPDEST PUSH2 0x3D6 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x8 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x15B JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x1D9 CALLDATASIZE PUSH1 0x4 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x4F0 JUMP JUMPDEST PUSH2 0x1BD PUSH2 0x1EC CALLDATASIZE PUSH1 0x4 PUSH2 0x1960 JUMP JUMPDEST PUSH2 0x522 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x1FF CALLDATASIZE PUSH1 0x4 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x5B8 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x212 CALLDATASIZE PUSH1 0x4 PUSH2 0x192B JUMP JUMPDEST PUSH2 0x5D3 JUMP JUMPDEST PUSH2 0x1BD PUSH2 0x225 CALLDATASIZE PUSH1 0x4 PUSH2 0x192B JUMP JUMPDEST PUSH2 0x604 JUMP JUMPDEST PUSH2 0x18C PUSH2 0x238 CALLDATASIZE PUSH1 0x4 PUSH2 0x192B JUMP JUMPDEST PUSH2 0x697 JUMP JUMPDEST PUSH2 0x1BD PUSH2 0x24B CALLDATASIZE PUSH1 0x4 PUSH2 0x19C6 JUMP JUMPDEST PUSH2 0x6F7 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x77D JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x18C JUMP JUMPDEST PUSH2 0x16C PUSH2 0x791 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x27F CALLDATASIZE PUSH1 0x4 PUSH2 0x19E1 JUMP JUMPDEST PUSH2 0x7A0 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x292 CALLDATASIZE PUSH1 0x4 PUSH2 0x1AA9 JUMP JUMPDEST PUSH2 0x7AF JUMP JUMPDEST PUSH2 0x16C PUSH2 0x2A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x192B JUMP JUMPDEST PUSH2 0x7E7 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x2B8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1B25 JUMP JUMPDEST PUSH2 0x7F2 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x2CB CALLDATASIZE PUSH1 0x4 PUSH2 0x1B87 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1B7 PUSH2 0x307 CALLDATASIZE PUSH1 0x4 PUSH2 0x19C6 JUMP JUMPDEST PUSH2 0x829 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x317 DUP3 PUSH2 0x89F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x32C SWAP1 PUSH2 0x1BBA JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x358 SWAP1 PUSH2 0x1BBA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3A5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x37A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3A5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x388 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BA DUP3 PUSH2 0x8C4 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E1 DUP3 PUSH2 0x697 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x453 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x46F JUMPI POP PUSH2 0x46F DUP2 CALLER PUSH2 0x2CB JUMP JUMPDEST PUSH2 0x4E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST PUSH2 0x4EB DUP4 DUP4 PUSH2 0x923 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x4FB CALLER JUMPDEST DUP3 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x517 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1BF4 JUMP JUMPDEST PUSH2 0x4EB DUP4 DUP4 DUP4 PUSH2 0xA10 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x52D DUP4 PUSH2 0x6F7 JUMP JUMPDEST DUP3 LT PUSH2 0x58F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A206F776E657220696E646578206F75 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x74206F6620626F756E6473 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x4EB DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x7AF JUMP JUMPDEST PUSH2 0x5DC CALLER PUSH2 0x4F5 JUMP JUMPDEST PUSH2 0x5F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1BF4 JUMP JUMPDEST PUSH2 0x601 DUP2 PUSH2 0xB81 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x60F PUSH1 0x8 SLOAD SWAP1 JUMP JUMPDEST DUP3 LT PUSH2 0x672 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A20676C6F62616C20696E646578206F PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x7574206F6620626F756E6473 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x8 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x685 JUMPI PUSH2 0x685 PUSH2 0x1C41 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x317 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x761 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x785 PUSH2 0xB8A JUMP JUMPDEST PUSH2 0x78F PUSH1 0x0 PUSH2 0xBE4 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x32C SWAP1 PUSH2 0x1BBA JUMP JUMPDEST PUSH2 0x7AB CALLER DUP4 DUP4 PUSH2 0xC36 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x7B9 CALLER DUP4 PUSH2 0x991 JUMP JUMPDEST PUSH2 0x7D5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1BF4 JUMP JUMPDEST PUSH2 0x7E1 DUP5 DUP5 DUP5 DUP5 PUSH2 0xD04 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x317 DUP3 PUSH2 0xD37 JUMP JUMPDEST PUSH2 0x7FA PUSH2 0xB8A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x805 PUSH1 0xC SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP PUSH2 0x815 PUSH1 0xC DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x81F DUP4 DUP3 PUSH2 0xE4B JUMP JUMPDEST PUSH2 0x4EB DUP2 DUP4 PUSH2 0xE65 JUMP JUMPDEST PUSH2 0x831 PUSH2 0xB8A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x896 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST PUSH2 0x601 DUP2 PUSH2 0xBE4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x780E9D63 PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x317 JUMPI POP PUSH2 0x317 DUP3 PUSH2 0xEF8 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x601 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x958 DUP3 PUSH2 0x697 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x99D DUP4 PUSH2 0x697 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x9E4 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0xA08 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x9FD DUP5 PUSH2 0x3AF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xA23 DUP3 PUSH2 0x697 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xA49 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1C57 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAAB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST PUSH2 0xAB8 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0xF48 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xACB DUP3 PUSH2 0x697 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xAF1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1C57 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x601 DUP2 PUSH2 0xF54 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x78F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0xB DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xC97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xD0F DUP5 DUP5 DUP5 PUSH2 0xA10 JUMP JUMPDEST PUSH2 0xD1B DUP5 DUP5 DUP5 DUP5 PUSH2 0xF94 JUMP JUMPDEST PUSH2 0x7E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH1 0x60 PUSH2 0xD42 DUP3 PUSH2 0x8C4 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0xD5B SWAP1 PUSH2 0x1BBA JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xD87 SWAP1 PUSH2 0x1BBA JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDD4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xDA9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDD4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xDB7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0xDFE PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x1D195CDD PUSH1 0xE2 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xE10 JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xE42 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xE2A SWAP3 SWAP2 SWAP1 PUSH2 0x1CEE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA08 DUP5 PUSH2 0x1095 JUMP JUMPDEST PUSH2 0x7AB DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1115 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xEE0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524337323155524953746F726167653A2055524920736574206F66206E6F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x32BC34B9BA32B73A103A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x4EB DUP3 DUP3 PUSH2 0x1D6B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xF29 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x317 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x317 JUMP JUMPDEST PUSH2 0x7E1 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1148 JUMP JUMPDEST PUSH2 0xF5D DUP2 PUSH2 0x1288 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0xF76 SWAP1 PUSH2 0x1BBA JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x601 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x601 SWAP2 PUSH2 0x1847 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x108A JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xFD8 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1E2B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1013 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1010 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1E68 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1070 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x1041 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1046 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x1068 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1C9C JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0xA08 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x10A0 DUP3 PUSH2 0x8C4 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10C3 PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x1D195CDD PUSH1 0xE2 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x10E3 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x110E JUMP JUMPDEST DUP1 PUSH2 0x10ED DUP5 PUSH2 0x132B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x10FE SWAP3 SWAP2 SWAP1 PUSH2 0x1CEE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x111F DUP4 DUP4 PUSH2 0x13BE JUMP JUMPDEST PUSH2 0x112C PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0xF94 JUMP JUMPDEST PUSH2 0x4EB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x44A SWAP1 PUSH2 0x1C9C JUMP JUMPDEST PUSH2 0x1154 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1557 JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x11C3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243373231456E756D657261626C653A20636F6E7365637574697665207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x185B9CD9995C9CC81B9BDD081CDD5C1C1BDC9D1959 PUSH1 0x5A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x44A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x121F JUMPI PUSH2 0x121A DUP2 PUSH1 0x8 DUP1 SLOAD PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP3 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD DUP4 SSTORE SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0xF3F7A9FE364FAAB93B216DA50A3214154F22A0A2B415B23A84C8169E8B636EE3 ADD SSTORE JUMP JUMPDEST PUSH2 0x1242 JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1242 JUMPI PUSH2 0x1242 DUP6 DUP3 PUSH2 0x15DF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x125E JUMPI PUSH2 0x1259 DUP2 PUSH2 0x167C JUMP JUMPDEST PUSH2 0x1281 JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1281 JUMPI PUSH2 0x1281 DUP5 DUP3 PUSH2 0x172B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1293 DUP3 PUSH2 0x697 JUMP JUMPDEST SWAP1 POP PUSH2 0x12A3 DUP2 PUSH1 0x0 DUP5 PUSH1 0x1 PUSH2 0xF48 JUMP JUMPDEST PUSH2 0x12AC DUP3 PUSH2 0x697 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1338 DUP4 PUSH2 0x176F JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1358 JUMPI PUSH2 0x1358 PUSH2 0x1A1D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1382 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x138C JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1414 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x1479 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH2 0x1487 PUSH1 0x0 DUP4 DUP4 PUSH1 0x1 PUSH2 0xF48 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x14EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x7E1 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND ISZERO PUSH2 0x159D JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1597 SWAP1 DUP5 SWAP1 PUSH2 0x1E9B JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO PUSH2 0x7E1 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x15D4 SWAP1 DUP5 SWAP1 PUSH2 0x1EAE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x15EC DUP5 PUSH2 0x6F7 JUMP JUMPDEST PUSH2 0x15F6 SWAP2 SWAP1 PUSH2 0x1E9B JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP DUP1 DUP3 EQ PUSH2 0x1649 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP6 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 SLOAD DUP5 DUP5 MSTORE DUP2 DUP5 KECCAK256 DUP2 SWAP1 SSTORE DUP4 MSTORE PUSH1 0x7 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP2 SWAP1 SSTORE JUMPDEST POP PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 DUP5 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND DUP4 MSTORE PUSH1 0x6 DUP2 MSTORE DUP4 DUP4 KECCAK256 SWAP2 DUP4 MSTORE MSTORE SWAP1 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x0 SWAP1 PUSH2 0x168E SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x1E9B JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x8 DUP1 SLOAD SWAP4 SWAP5 POP SWAP1 SWAP3 DUP5 SWAP1 DUP2 LT PUSH2 0x16B6 JUMPI PUSH2 0x16B6 PUSH2 0x1C41 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 PUSH1 0x8 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x16D7 JUMPI PUSH2 0x16D7 PUSH2 0x1C41 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x9 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP5 SWAP1 SSTORE DUP6 DUP3 MSTORE DUP2 KECCAK256 SSTORE PUSH1 0x8 DUP1 SLOAD DUP1 PUSH2 0x170F JUMPI PUSH2 0x170F PUSH2 0x1EC1 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1736 DUP4 PUSH2 0x6F7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE DUP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE SWAP4 DUP3 MSTORE PUSH1 0x7 SWAP1 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x17AE JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x17DA JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x17F8 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x1810 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x1824 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x1836 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x317 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x1853 SWAP1 PUSH2 0x1BBA JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x1863 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x601 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1891 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x187D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x601 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x18BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x110E DUP2 PUSH2 0x1895 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18E3 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x18CB JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1904 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x18C8 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x110E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x18EC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x193D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x195B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1973 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x197C DUP4 PUSH2 0x1944 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x199F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x19A8 DUP5 PUSH2 0x1944 JUMP JUMPDEST SWAP3 POP PUSH2 0x19B6 PUSH1 0x20 DUP6 ADD PUSH2 0x1944 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x19D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x110E DUP3 PUSH2 0x1944 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x19F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x19FD DUP4 PUSH2 0x1944 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1A12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x1A4E JUMPI PUSH2 0x1A4E PUSH2 0x1A1D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1A76 JUMPI PUSH2 0x1A76 PUSH2 0x1A1D JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x1A8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1ABF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AC8 DUP6 PUSH2 0x1944 JUMP JUMPDEST SWAP4 POP PUSH2 0x1AD6 PUSH1 0x20 DUP7 ADD PUSH2 0x1944 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1AF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x1B0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B19 DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1A33 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B41 DUP4 PUSH2 0x1944 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1B5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1B6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B7D DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1A33 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1BA3 DUP4 PUSH2 0x1944 JUMP JUMPDEST SWAP2 POP PUSH2 0x1BB1 PUSH1 0x20 DUP5 ADD PUSH2 0x1944 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1BCE JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1BEE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1D00 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x18C8 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x1D14 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x18C8 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x4EB JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1D44 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1D63 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1D50 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1D85 JUMPI PUSH2 0x1D85 PUSH2 0x1A1D JUMP JUMPDEST PUSH2 0x1D99 DUP2 PUSH2 0x1D93 DUP5 SLOAD PUSH2 0x1BBA JUMP JUMPDEST DUP5 PUSH2 0x1D1D JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1DCE JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1DB6 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1D63 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1DFD JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x1DDE JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1E1B JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1E5E SWAP1 DUP4 ADD DUP5 PUSH2 0x18EC JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1E7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x110E DUP2 PUSH2 0x1895 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x317 JUMPI PUSH2 0x317 PUSH2 0x1E85 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x317 JUMPI PUSH2 0x317 PUSH2 0x1E85 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0x60BC65D7484AB1502CCDC352C91F0FB91535A525CF99E1B6392E 0x24 0x25 BASEFEE 0x27 SWAP11 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ", - "sourceMap": "469:1412:16:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1674:205;;;;;;:::i;:::-;;:::i;:::-;;;565:14:17;;558:22;540:41;;528:2;513:18;1674:205:16;;;;;;;;2471:98:1;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:17;;;1679:51;;1667:2;1652:18;3935:167:1;1533:203:17;3468:406:1;;;;;;:::i;:::-;;:::i;:::-;;1630:111:5;1717:10;:17;1630:111;;;2324:25:17;;;2312:2;2297:18;1630:111:5;2178:177:17;4612:326:1;;;;;;:::i;:::-;;:::i;1306:253:5:-;;;;;;:::i;:::-;;:::i;5004:179:1:-;;;;;;:::i;:::-;;:::i;531:238:4:-;;;;;;:::i;:::-;;:::i;1813:230:5:-;;;;;;:::i;:::-;;:::i;2190:219:1:-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;1831:101:0:-;;;:::i;1201:85::-;1273:6;;-1:-1:-1;;;;;1273:6:0;1201:85;;2633:102:1;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5249:314::-;;;;;;:::i;:::-;;:::i;1479:189:16:-;;;;;;:::i;:::-;;:::i;820:231::-;;;;;;:::i;:::-;;:::i;4388:162:1:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:1;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;2081:198:0;;;;;;:::i;:::-;;:::i;1674:205:16:-;1809:4;1836:36;1860:11;1836:23;:36::i;:::-;1829:43;1674:205;-1:-1:-1;;1674:205:16:o;2471:98:1:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:1;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:1;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:1;:2;-1:-1:-1;;;;;3605:11:1;;3597:57;;;;-1:-1:-1;;;3597:57:1;;6056:2:17;3597:57:1;;;6038:21:17;6095:2;6075:18;;;6068:30;6134:34;6114:18;;;6107:62;-1:-1:-1;;;6185:18:17;;;6178:31;6226:19;;3597:57:1;;;;;;;;;719:10:10;-1:-1:-1;;;;;3686:21:1;;;;:62;;-1:-1:-1;3711:37:1;3728:5;719:10:10;4388:162:1;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:1;;6458:2:17;3665:170:1;;;6440:21:17;6497:2;6477:18;;;6470:30;6536:34;6516:18;;;6509:62;6607:31;6587:18;;;6580:59;6656:19;;3665:170:1;6256:425:17;3665:170:1;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:326::-;4801:41;719:10:10;4820:12:1;4834:7;4801:18;:41::i;:::-;4793:99;;;;-1:-1:-1;;;4793:99:1;;;;;;;:::i;:::-;4903:28;4913:4;4919:2;4923:7;4903:9;:28::i;1306:253:5:-;1403:7;1438:23;1455:5;1438:16;:23::i;:::-;1430:5;:31;1422:87;;;;-1:-1:-1;;;1422:87:5;;7302:2:17;1422:87:5;;;7284:21:17;7341:2;7321:18;;;7314:30;7380:34;7360:18;;;7353:62;-1:-1:-1;;;7431:18:17;;;7424:41;7482:19;;1422:87:5;7100:407:17;1422:87:5;-1:-1:-1;;;;;;1526:19:5;;;;;;;;:12;:19;;;;;;;;:26;;;;;;;;;1306:253::o;5004:179:1:-;5137:39;5154:4;5160:2;5164:7;5137:39;;;;;;;;;;;;:16;:39::i;531:238:4:-;647:41;719:10:10;666:12:4;640:96:10;647:41:4;639:99;;;;-1:-1:-1;;;639:99:4;;;;;;;:::i;:::-;748:14;754:7;748:5;:14::i;:::-;531:238;:::o;1813:230:5:-;1888:7;1923:30;1717:10;:17;;1630:111;1923:30;1915:5;:38;1907:95;;;;-1:-1:-1;;;1907:95:5;;7714:2:17;1907:95:5;;;7696:21:17;7753:2;7733:18;;;7726:30;7792:34;7772:18;;;7765:62;-1:-1:-1;;;7843:18:17;;;7836:42;7895:19;;1907:95:5;7512:408:17;1907:95:5;2019:10;2030:5;2019:17;;;;;;;;:::i;:::-;;;;;;;;;2012:24;;1813:230;;;:::o;2190:219:1:-;2262:7;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;;2324:56;;;;-1:-1:-1;;;2324:56:1;;8259:2:17;2324:56:1;;;8241:21:17;8298:2;8278:18;;;8271:30;-1:-1:-1;;;8317:18:17;;;8310:54;8381:18;;2324:56:1;8057:348:17;1929:204:1;2001:7;-1:-1:-1;;;;;2028:19:1;;2020:73;;;;-1:-1:-1;;;2020:73:1;;8612:2:17;2020:73:1;;;8594:21:17;8651:2;8631:18;;;8624:30;8690:34;8670:18;;;8663:62;-1:-1:-1;;;8741:18:17;;;8734:39;8790:19;;2020:73:1;8410:405:17;2020:73:1;-1:-1:-1;;;;;;2110:16:1;;;;;:9;:16;;;;;;;1929:204::o;1831:101:0:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;2633:102:1:-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:10;4296:8:1;4306;4263:18;:52::i;:::-;4169:153;;:::o;5249:314::-;5417:41;719:10:10;5450:7:1;5417:18;:41::i;:::-;5409:99;;;;-1:-1:-1;;;5409:99:1;;;;;;;:::i;:::-;5518:38;5532:4;5538:2;5542:7;5551:4;5518:13;:38::i;:::-;5249:314;;;;:::o;1479:189:16:-;1602:13;1638:23;1653:7;1638:14;:23::i;820:231::-;1094:13:0;:11;:13::i;:::-;896:15:16::1;914:25;:15;918:14:11::0;;827:112;914:25:16::1;896:43;;949:27;:15;1032:19:11::0;;1050:1;1032:19;;;945:123;949:27:16::1;986:22;996:2;1000:7;986:9;:22::i;:::-;1018:26;1031:7;1040:3;1018:12;:26::i;2081:198:0:-:0;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:0;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:0;;9022:2:17;2161:73:0::1;::::0;::::1;9004:21:17::0;9061:2;9041:18;;;9034:30;9100:34;9080:18;;;9073:62;-1:-1:-1;;;9151:18:17;;;9144:36;9197:19;;2161:73:0::1;8820:402:17::0;2161:73:0::1;2244:28;2263:8;2244:18;:28::i;1005:222:5:-:0;1107:4;-1:-1:-1;;;;;;1130:50:5;;-1:-1:-1;;;1130:50:5;;:90;;;1184:36;1208:11;1184:23;:36::i;13466:133:1:-;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;13539:53;;;;-1:-1:-1;;;13539:53:1;;8259:2:17;13539:53:1;;;8241:21:17;8298:2;8278:18;;;8271:30;-1:-1:-1;;;8317:18:17;;;8310:54;8381:18;;13539:53:1;8057:348:17;12768:171:1;12842:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12842:29:1;-1:-1:-1;;;;;12842:29:1;;;;;;;;:24;;12895:23;12842:24;12895:14;:23::i;:::-;-1:-1:-1;;;;;12886:46:1;;;;;;;;;;;12768:171;;:::o;7540:261::-;7633:4;7649:13;7665:23;7680:7;7665:14;:23::i;:::-;7649:39;;7717:5;-1:-1:-1;;;;;7706:16:1;:7;-1:-1:-1;;;;;7706:16:1;;:52;;;-1:-1:-1;;;;;;4508:25:1;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7726:32;7706:87;;;;7786:7;-1:-1:-1;;;;;7762:31:1;:20;7774:7;7762:11;:20::i;:::-;-1:-1:-1;;;;;7762:31:1;;7706:87;7698:96;7540:261;-1:-1:-1;;;;7540:261:1:o;11423:1233::-;11577:4;-1:-1:-1;;;;;11550:31:1;:23;11565:7;11550:14;:23::i;:::-;-1:-1:-1;;;;;11550:31:1;;11542:81;;;;-1:-1:-1;;;11542:81:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;11641:16:1;;11633:65;;;;-1:-1:-1;;;11633:65:1;;9835:2:17;11633:65:1;;;9817:21:17;9874:2;9854:18;;;9847:30;9913:34;9893:18;;;9886:62;-1:-1:-1;;;9964:18:17;;;9957:34;10008:19;;11633:65:1;9633:400:17;11633:65:1;11709:42;11730:4;11736:2;11740:7;11749:1;11709:20;:42::i;:::-;11878:4;-1:-1:-1;;;;;11851:31:1;:23;11866:7;11851:14;:23::i;:::-;-1:-1:-1;;;;;11851:31:1;;11843:81;;;;-1:-1:-1;;;11843:81:1;;;;;;;:::i;:::-;11993:24;;;;:15;:24;;;;;;;;11986:31;;-1:-1:-1;;;;;;11986:31:1;;;;;;-1:-1:-1;;;;;12461:15:1;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12461:20:1;;;12495:13;;;;;;;;;:18;;11986:31;12495:18;;;12533:16;;;:7;:16;;;;;;:21;;;;;;;;;;12570:27;;12009:7;;12570:27;;;3538:336;3468:406;;:::o;1360:113:16:-;1446:20;1458:7;1446:11;:20::i;1359:130:0:-;1273:6;;-1:-1:-1;;;;;1273:6:0;719:10:10;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;10240:2:17;1414:68:0;;;10222:21:17;;;10259:18;;;10252:30;10318:34;10298:18;;;10291:62;10370:18;;1414:68:0;10038:356:17;2433:187:0;2525:6;;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;;2573:40;;2525:6;;;2541:17;2525:6;;2573:40;;2506:16;;2573:40;2496:124;2433:187;:::o;13075:307:1:-;13225:8;-1:-1:-1;;;;;13216:17:1;:5;-1:-1:-1;;;;;13216:17:1;;13208:55;;;;-1:-1:-1;;;13208:55:1;;10601:2:17;13208:55:1;;;10583:21:17;10640:2;10620:18;;;10613:30;10679:27;10659:18;;;10652:55;10724:18;;13208:55:1;10399:349:17;13208:55:1;-1:-1:-1;;;;;13273:25:1;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13273:46:1;;;;;;;;;;13334:41;;540::17;;;13334::1;;513:18:17;13334:41:1;;;;;;;13075:307;;;:::o;6424:305::-;6574:28;6584:4;6590:2;6594:7;6574:9;:28::i;:::-;6620:47;6643:4;6649:2;6653:7;6662:4;6620:22;:47::i;:::-;6612:110;;;;-1:-1:-1;;;6612:110:1;;;;;;;:::i;482:608:6:-;555:13;580:23;595:7;580:14;:23::i;:::-;614;640:19;;;:10;:19;;;;;614:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;669:18;690:10;794:13:16;;;;;;;;;;;;-1:-1:-1;;;794:13:16;;;;;717:97;690:10:6;669:31;;779:4;773:18;795:1;773:23;769:70;;-1:-1:-1;819:9:6;482:608;-1:-1:-1;;482:608:6:o;769:70::-;941:23;;:27;937:106;;1015:4;1021:9;998:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;984:48;;;;482:608;;;:::o;937:106::-;1060:23;1075:7;1060:14;:23::i;8131:108:1:-;8206:26;8216:2;8220:7;8206:26;;;;;;;;;;;;:9;:26::i;1237:214:6:-;7321:4:1;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;1328:75:6;;;;-1:-1:-1;;;1328:75:6;;11875:2:17;1328:75:6;;;11857:21:17;11914:2;11894:18;;;11887:30;11953:34;11933:18;;;11926:62;-1:-1:-1;;;12004:18:17;;;11997:44;12058:19;;1328:75:6;11673:410:17;1328:75:6;1413:19;;;;:10;:19;;;;;:31;1435:9;1413:19;:31;:::i;1570:300:1:-;1672:4;-1:-1:-1;;;;;;1707:40:1;;-1:-1:-1;;;1707:40:1;;:104;;-1:-1:-1;;;;;;;1763:48:1;;-1:-1:-1;;;1763:48:1;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:13;;;1827:36:1;829:155:13;1125:229:16;1291:56;1318:4;1324:2;1328:7;1337:9;1291:26;:56::i;1669:200:6:-;1737:20;1749:7;1737:11;:20::i;:::-;1778:19;;;;:10;:19;;;;;1772:33;;;;;:::i;:::-;:38;;-1:-1:-1;1768:95:6;;1833:19;;;;:10;:19;;;;;1826:26;;;:::i;14151:831:1:-;14300:4;-1:-1:-1;;;;;14320:13:1;;1465:19:9;:23;14316:660:1;;14355:71;;-1:-1:-1;;;14355:71:1;;-1:-1:-1;;;;;14355:36:1;;;;;:71;;719:10:10;;14406:4:1;;14412:7;;14421:4;;14355:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14355:71:1;;;;;;;;-1:-1:-1;;14355:71:1;;;;;;;;;;;;:::i;:::-;;;14351:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14593:6;:13;14610:1;14593:18;14589:321;;14635:60;;-1:-1:-1;;;14635:60:1;;;;;;;:::i;14589:321::-;14862:6;14856:13;14847:6;14843:2;14839:15;14832:38;14351:573;-1:-1:-1;;;;;;14476:51:1;-1:-1:-1;;;14476:51:1;;-1:-1:-1;14469:58:1;;14316:660;-1:-1:-1;14961:4:1;14151:831;;;;;;:::o;2801:276::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;794:13:16;;;;;;;;;;;;-1:-1:-1;;;794:13:16;;;;;717:97;2957:10:1;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;-1:-1:-1;;;2801:276:1:o;8460:309::-;8584:18;8590:2;8594:7;8584:5;:18::i;:::-;8633:53;8664:1;8668:2;8672:7;8681:4;8633:22;:53::i;:::-;8612:150;;;;-1:-1:-1;;;8612:150:1;;;;;;;:::i;2112:890:5:-;2283:61;2310:4;2316:2;2320:12;2334:9;2283:26;:61::i;:::-;2371:1;2359:9;:13;2355:219;;;2500:63;;-1:-1:-1;;;2500:63:5;;15242:2:17;2500:63:5;;;15224:21:17;15281:2;15261:18;;;15254:30;15320:34;15300:18;;;15293:62;-1:-1:-1;;;15371:18:17;;;15364:51;15432:19;;2500:63:5;15040:417:17;2355:219:5;2602:12;-1:-1:-1;;;;;2629:18:5;;2625:183;;2663:40;2695:7;3811:10;:17;;3784:24;;;;:15;:24;;;;;:44;;;3838:24;;;;;;;;;;;;3708:161;2663:40;2625:183;;;2732:2;-1:-1:-1;;;;;2724:10:5;:4;-1:-1:-1;;;;;2724:10:5;;2720:88;;2750:47;2783:4;2789:7;2750:32;:47::i;:::-;-1:-1:-1;;;;;2821:16:5;;2817:179;;2853:45;2890:7;2853:36;:45::i;:::-;2817:179;;;2925:4;-1:-1:-1;;;;;2919:10:5;:2;-1:-1:-1;;;;;2919:10:5;;2915:81;;2945:40;2973:2;2977:7;2945:27;:40::i;:::-;2273:729;2112:890;;;;:::o;10337:762:1:-;10396:13;10412:23;10427:7;10412:14;:23::i;:::-;10396:39;;10446:51;10467:5;10482:1;10486:7;10495:1;10446:20;:51::i;:::-;10607:23;10622:7;10607:14;:23::i;:::-;10675:24;;;;:15;:24;;;;;;;;10668:31;;-1:-1:-1;;;;;;10668:31:1;;;;;;-1:-1:-1;;;;;10915:16:1;;;;;:9;:16;;;;;:21;;-1:-1:-1;;10915:21:1;;;10963:16;;;:7;:16;;;;;;10956:23;;;;;;;10995:36;10599:31;;-1:-1:-1;10691:7:1;;10995:36;;10675:24;;10995:36;4169:153;;:::o;415:696:12:-;471:13;520:14;537:17;548:5;537:10;:17::i;:::-;557:1;537:21;520:38;;572:20;606:6;595:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;595:18:12;-1:-1:-1;572:41:12;-1:-1:-1;733:28:12;;;749:2;733:28;788:280;-1:-1:-1;;819:5:12;-1:-1:-1;;;953:2:12;942:14;;937:30;819:5;924:44;1012:2;1003:11;;;-1:-1:-1;1032:21:12;788:280;1032:21;-1:-1:-1;1088:6:12;415:696;-1:-1:-1;;;415:696:12:o;9091:920:1:-;-1:-1:-1;;;;;9170:16:1;;9162:61;;;;-1:-1:-1;;;9162:61:1;;15796:2:17;9162:61:1;;;15778:21:17;;;15815:18;;;15808:30;15874:34;15854:18;;;15847:62;15926:18;;9162:61:1;15594:356:17;9162:61:1;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;7344:31;9233:58;;;;-1:-1:-1;;;9233:58:1;;16157:2:17;9233:58:1;;;16139:21:17;16196:2;16176:18;;;16169:30;16235;16215:18;;;16208:58;16283:18;;9233:58:1;15955:352:17;9233:58:1;9302:48;9331:1;9335:2;9339:7;9348:1;9302:20;:48::i;:::-;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;7344:31;9437:58;;;;-1:-1:-1;;;9437:58:1;;16157:2:17;9437:58:1;;;16139:21:17;16196:2;16176:18;;;16169:30;16235;16215:18;;;16208:58;16283:18;;9437:58:1;15955:352:17;9437:58:1;-1:-1:-1;;;;;9837:13:1;;;;;;:9;:13;;;;;;;;:18;;9854:1;9837:18;;;9876:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9876:21:1;;;;;9913:33;9884:7;;9837:13;;9913:33;;9837:13;;9913:33;4169:153;;:::o;15698:396::-;15882:1;15870:9;:13;15866:222;;;-1:-1:-1;;;;;15903:18:1;;;15899:85;;-1:-1:-1;;;;;15941:15:1;;;;;;:9;:15;;;;;:28;;15960:9;;15941:15;:28;;15960:9;;15941:28;:::i;:::-;;;;-1:-1:-1;;15899:85:1;-1:-1:-1;;;;;16001:16:1;;;15997:81;;-1:-1:-1;;;;;16037:13:1;;;;;;:9;:13;;;;;:26;;16054:9;;16037:13;:26;;16054:9;;16037:26;:::i;:::-;;;;-1:-1:-1;;15698:396:1;;;;:::o;4486:970:5:-;4748:22;4798:1;4773:22;4790:4;4773:16;:22::i;:::-;:26;;;;:::i;:::-;4809:18;4830:26;;;:17;:26;;;;;;4748:51;;-1:-1:-1;4960:28:5;;;4956:323;;-1:-1:-1;;;;;5026:18:5;;5004:19;5026:18;;;:12;:18;;;;;;;;:34;;;;;;;;;5075:30;;;;;;:44;;;5191:30;;:17;:30;;;;;:43;;;4956:323;-1:-1:-1;5372:26:5;;;;:17;:26;;;;;;;;5365:33;;;-1:-1:-1;;;;;5415:18:5;;;;;:12;:18;;;;;:34;;;;;;;5408:41;4486:970::o;5744:1061::-;6018:10;:17;5993:22;;6018:21;;6038:1;;6018:21;:::i;:::-;6049:18;6070:24;;;:15;:24;;;;;;6438:10;:26;;5993:46;;-1:-1:-1;6070:24:5;;5993:46;;6438:26;;;;;;:::i;:::-;;;;;;;;;6416:48;;6500:11;6475:10;6486;6475:22;;;;;;;;:::i;:::-;;;;;;;;;;;;:36;;;;6579:28;;;:15;:28;;;;;;;:41;;;6748:24;;;;;6741:31;6782:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5815:990;;;5744:1061;:::o;3296:217::-;3380:14;3397:20;3414:2;3397:16;:20::i;:::-;-1:-1:-1;;;;;3427:16:5;;;;;;;:12;:16;;;;;;;;:24;;;;;;;;:34;;;3471:26;;;:17;:26;;;;;;:35;;;;-1:-1:-1;3296:217:5:o;9889:890:15:-;9942:7;;-1:-1:-1;;;10017:15:15;;10013:99;;-1:-1:-1;;;10052:15:15;;;-1:-1:-1;10095:2:15;10085:12;10013:99;10138:6;10129:5;:15;10125:99;;10173:6;10164:15;;;-1:-1:-1;10207:2:15;10197:12;10125:99;10250:6;10241:5;:15;10237:99;;10285:6;10276:15;;;-1:-1:-1;10319:2:15;10309:12;10237:99;10362:5;10353;:14;10349:96;;10396:5;10387:14;;;-1:-1:-1;10429:1:15;10419:11;10349:96;10471:5;10462;:14;10458:96;;10505:5;10496:14;;;-1:-1:-1;10538:1:15;10528:11;10458:96;10580:5;10571;:14;10567:96;;10614:5;10605:14;;;-1:-1:-1;10647:1:15;10637:11;10567:96;10689:5;10680;:14;10676:64;;10724:1;10714:11;10766:6;9889:890;-1:-1:-1;;9889:890:15:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:131:17:-;-1:-1:-1;;;;;;88:32:17;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:17;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:17;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:17:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:17;;1348:180;-1:-1:-1;1348:180:17:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:17;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:17:o;2360:328::-;2437:6;2445;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2545:29;2564:9;2545:29;:::i;:::-;2535:39;;2593:38;2627:2;2616:9;2612:18;2593:38;:::i;:::-;2583:48;;2678:2;2667:9;2663:18;2650:32;2640:42;;2360:328;;;;;:::o;2693:186::-;2752:6;2805:2;2793:9;2784:7;2780:23;2776:32;2773:52;;;2821:1;2818;2811:12;2773:52;2844:29;2863:9;2844:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:631;3432:5;3462:18;3503:2;3495:6;3492:14;3489:40;;;3509:18;;:::i;:::-;3584:2;3578:9;3552:2;3638:15;;-1:-1:-1;;3634:24:17;;;3660:2;3630:33;3626:42;3614:55;;;3684:18;;;3704:22;;;3681:46;3678:72;;;3730:18;;:::i;:::-;3770:10;3766:2;3759:22;3799:6;3790:15;;3829:6;3821;3814:22;3869:3;3860:6;3855:3;3851:16;3848:25;3845:45;;;3886:1;3883;3876:12;3845:45;3936:6;3931:3;3924:4;3916:6;3912:17;3899:44;3991:1;3984:4;3975:6;3967;3963:19;3959:30;3952:41;;;;3368:631;;;;;:::o;4004:666::-;4099:6;4107;4115;4123;4176:3;4164:9;4155:7;4151:23;4147:33;4144:53;;;4193:1;4190;4183:12;4144:53;4216:29;4235:9;4216:29;:::i;:::-;4206:39;;4264:38;4298:2;4287:9;4283:18;4264:38;:::i;:::-;4254:48;;4349:2;4338:9;4334:18;4321:32;4311:42;;4404:2;4393:9;4389:18;4376:32;4431:18;4423:6;4420:30;4417:50;;;4463:1;4460;4453:12;4417:50;4486:22;;4539:4;4531:13;;4527:27;-1:-1:-1;4517:55:17;;4568:1;4565;4558:12;4517:55;4591:73;4656:7;4651:2;4638:16;4633:2;4629;4625:11;4591:73;:::i;:::-;4581:83;;;4004:666;;;;;;;:::o;4675:524::-;4753:6;4761;4814:2;4802:9;4793:7;4789:23;4785:32;4782:52;;;4830:1;4827;4820:12;4782:52;4853:29;4872:9;4853:29;:::i;:::-;4843:39;;4933:2;4922:9;4918:18;4905:32;4960:18;4952:6;4949:30;4946:50;;;4992:1;4989;4982:12;4946:50;5015:22;;5068:4;5060:13;;5056:27;-1:-1:-1;5046:55:17;;5097:1;5094;5087:12;5046:55;5120:73;5185:7;5180:2;5167:16;5162:2;5158;5154:11;5120:73;:::i;:::-;5110:83;;;4675:524;;;;;:::o;5204:260::-;5272:6;5280;5333:2;5321:9;5312:7;5308:23;5304:32;5301:52;;;5349:1;5346;5339:12;5301:52;5372:29;5391:9;5372:29;:::i;:::-;5362:39;;5420:38;5454:2;5443:9;5439:18;5420:38;:::i;:::-;5410:48;;5204:260;;;;;:::o;5469:380::-;5548:1;5544:12;;;;5591;;;5612:61;;5666:4;5658:6;5654:17;5644:27;;5612:61;5719:2;5711:6;5708:14;5688:18;5685:38;5682:161;;5765:10;5760:3;5756:20;5753:1;5746:31;5800:4;5797:1;5790:15;5828:4;5825:1;5818:15;5682:161;;5469:380;;;:::o;6686:409::-;6888:2;6870:21;;;6927:2;6907:18;;;6900:30;6966:34;6961:2;6946:18;;6939:62;-1:-1:-1;;;7032:2:17;7017:18;;7010:43;7085:3;7070:19;;6686:409::o;7925:127::-;7986:10;7981:3;7977:20;7974:1;7967:31;8017:4;8014:1;8007:15;8041:4;8038:1;8031:15;9227:401;9429:2;9411:21;;;9468:2;9448:18;;;9441:30;9507:34;9502:2;9487:18;;9480:62;-1:-1:-1;;;9573:2:17;9558:18;;9551:35;9618:3;9603:19;;9227:401::o;10753:414::-;10955:2;10937:21;;;10994:2;10974:18;;;10967:30;11033:34;11028:2;11013:18;;11006:62;-1:-1:-1;;;11099:2:17;11084:18;;11077:48;11157:3;11142:19;;10753:414::o;11172:496::-;11351:3;11389:6;11383:13;11405:66;11464:6;11459:3;11452:4;11444:6;11440:17;11405:66;:::i;:::-;11534:13;;11493:16;;;;11556:70;11534:13;11493:16;11603:4;11591:17;;11556:70;:::i;:::-;11642:20;;11172:496;-1:-1:-1;;;;11172:496:17:o;12214:545::-;12316:2;12311:3;12308:11;12305:448;;;12352:1;12377:5;12373:2;12366:17;12422:4;12418:2;12408:19;12492:2;12480:10;12476:19;12473:1;12469:27;12463:4;12459:38;12528:4;12516:10;12513:20;12510:47;;;-1:-1:-1;12551:4:17;12510:47;12606:2;12601:3;12597:12;12594:1;12590:20;12584:4;12580:31;12570:41;;12661:82;12679:2;12672:5;12669:13;12661:82;;;12724:17;;;12705:1;12694:13;12661:82;;;12665:3;;;12214:545;;;:::o;12935:1352::-;13061:3;13055:10;13088:18;13080:6;13077:30;13074:56;;;13110:18;;:::i;:::-;13139:97;13229:6;13189:38;13221:4;13215:11;13189:38;:::i;:::-;13183:4;13139:97;:::i;:::-;13291:4;;13355:2;13344:14;;13372:1;13367:663;;;;14074:1;14091:6;14088:89;;;-1:-1:-1;14143:19:17;;;14137:26;14088:89;-1:-1:-1;;12892:1:17;12888:11;;;12884:24;12880:29;12870:40;12916:1;12912:11;;;12867:57;14190:81;;13337:944;;13367:663;12161:1;12154:14;;;12198:4;12185:18;;-1:-1:-1;;13403:20:17;;;13521:236;13535:7;13532:1;13529:14;13521:236;;;13624:19;;;13618:26;13603:42;;13716:27;;;;13684:1;13672:14;;;;13551:19;;13521:236;;;13525:3;13785:6;13776:7;13773:19;13770:201;;;13846:19;;;13840:26;-1:-1:-1;;13929:1:17;13925:14;;;13941:3;13921:24;13917:37;13913:42;13898:58;13883:74;;13770:201;-1:-1:-1;;;;;14017:1:17;14001:14;;;13997:22;13984:36;;-1:-1:-1;12935:1352:17:o;14292:489::-;-1:-1:-1;;;;;14561:15:17;;;14543:34;;14613:15;;14608:2;14593:18;;14586:43;14660:2;14645:18;;14638:34;;;14708:3;14703:2;14688:18;;14681:31;;;14486:4;;14729:46;;14755:19;;14747:6;14729:46;:::i;:::-;14721:54;14292:489;-1:-1:-1;;;;;;14292:489:17:o;14786:249::-;14855:6;14908:2;14896:9;14887:7;14883:23;14879:32;14876:52;;;14924:1;14921;14914:12;14876:52;14956:9;14950:16;14975:30;14999:5;14975:30;:::i;16312:127::-;16373:10;16368:3;16364:20;16361:1;16354:31;16404:4;16401:1;16394:15;16428:4;16425:1;16418:15;16444:128;16511:9;;;16532:11;;;16529:37;;;16546:18;;:::i;16577:125::-;16642:9;;;16663:10;;;16660:36;;;16676:18;;:::i;16707:127::-;16768:10;16763:3;16759:20;16756:1;16749:31;16799:4;16796:1;16789:15;16823:4;16820:1;16813:15" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "1589800", - "executionCost": "infinite", - "totalCost": "infinite" - }, - "external": { - "approve(address,uint256)": "infinite", - "balanceOf(address)": "2634", - "burn(uint256)": "infinite", - "getApproved(uint256)": "4792", - "isApprovedForAll(address,address)": "infinite", - "name()": "infinite", - "owner()": "2420", - "ownerOf(uint256)": "2561", - "renounceOwnership()": "infinite", - "safeMint(address,string)": "infinite", - "safeTransferFrom(address,address,uint256)": "infinite", - "safeTransferFrom(address,address,uint256,bytes)": "infinite", - "setApprovalForAll(address,bool)": "26705", - "supportsInterface(bytes4)": "infinite", - "symbol()": "infinite", - "tokenByIndex(uint256)": "6826", - "tokenOfOwnerByIndex(address,uint256)": "4975", - "tokenURI(uint256)": "infinite", - "totalSupply()": "2393", - "transferFrom(address,address,uint256)": "infinite", - "transferOwnership(address)": "28468" - }, - "internal": { - "_baseURI()": "infinite", - "_beforeTokenTransfer(address,address,uint256,uint256)": "infinite", - "_burn(uint256)": "infinite" - } - }, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "owner()": "8da5cb5b", - "ownerOf(uint256)": "6352211e", - "renounceOwnership()": "715018a6", - "safeMint(address,string)": "d204c45e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenByIndex(uint256)": "4f6ccce7", - "tokenOfOwnerByIndex(address,uint256)": "2f745c59", - "tokenURI(uint256)": "c87b56dd", - "totalSupply()": "18160ddd", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"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\":\"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\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"safeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol\":\"ZeppelinContract\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x5c3501c1b70fcfc64417e9da5cc6a3597191baa354781e508e1e14cc0e50a038\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://899c87a849a94c848818d0afede6961d2c87665af1dd23a5c983e78981a65691\",\"dweb:/ipfs/QmUeFDffQRDmX87FX3MRxN3bmpUxDTWpWLwPJzeAJ3yF6H\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol\":{\"keccak256\":\"0xba32bca6efb010353d9ed4628d199992deb1a1ba3957432c3844cfe3341c51ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76fbb854bace904c746fa053de39dd51b1c480be80357c76a0e6a6cee28e47d4\",\"dweb:/ipfs/QmVJ4ZYaskCdgQq4AFwMbS7dRYBLGoJn5g5LyPLAMhSTwr\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 138, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_name", - "offset": 0, - "slot": "0", - "type": "t_string_storage" - }, - { - "astId": 140, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_symbol", - "offset": 0, - "slot": "1", - "type": "t_string_storage" - }, - { - "astId": 144, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_owners", - "offset": 0, - "slot": "2", - "type": "t_mapping(t_uint256,t_address)" - }, - { - "astId": 148, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_balances", - "offset": 0, - "slot": "3", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 152, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_tokenApprovals", - "offset": 0, - "slot": "4", - "type": "t_mapping(t_uint256,t_address)" - }, - { - "astId": 158, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_operatorApprovals", - "offset": 0, - "slot": "5", - "type": "t_mapping(t_address,t_mapping(t_address,t_bool))" - }, - { - "astId": 1236, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_ownedTokens", - "offset": 0, - "slot": "6", - "type": "t_mapping(t_address,t_mapping(t_uint256,t_uint256))" - }, - { - "astId": 1240, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_ownedTokensIndex", - "offset": 0, - "slot": "7", - "type": "t_mapping(t_uint256,t_uint256)" - }, - { - "astId": 1243, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_allTokens", - "offset": 0, - "slot": "8", - "type": "t_array(t_uint256)dyn_storage" - }, - { - "astId": 1247, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_allTokensIndex", - "offset": 0, - "slot": "9", - "type": "t_mapping(t_uint256,t_uint256)" - }, - { - "astId": 1588, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_tokenURIs", - "offset": 0, - "slot": "10", - "type": "t_mapping(t_uint256,t_string_storage)" - }, - { - "astId": 7, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_owner", - "offset": 0, - "slot": "11", - "type": "t_address" - }, - { - "astId": 3285, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_tokenIdCounter", - "offset": 0, - "slot": "12", - "type": "t_struct(Counter)2116_storage" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)dyn_storage": { - "base": "t_uint256", - "encoding": "dynamic_array", - "label": "uint256[]", - "numberOfBytes": "32" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_mapping(t_address,t_bool)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => bool)", - "numberOfBytes": "32", - "value": "t_bool" - }, - "t_mapping(t_address,t_mapping(t_address,t_bool))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => bool))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_bool)" - }, - "t_mapping(t_address,t_mapping(t_uint256,t_uint256))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(uint256 => uint256))", - "numberOfBytes": "32", - "value": "t_mapping(t_uint256,t_uint256)" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_mapping(t_uint256,t_address)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => address)", - "numberOfBytes": "32", - "value": "t_address" - }, - "t_mapping(t_uint256,t_string_storage)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => string)", - "numberOfBytes": "32", - "value": "t_string_storage" - }, - "t_mapping(t_uint256,t_uint256)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_struct(Counter)2116_storage": { - "encoding": "inplace", - "label": "struct Counters.Counter", - "members": [ - { - "astId": 2115, - "contract": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol:ZeppelinContract", - "label": "_value", - "offset": 0, - "slot": "0", - "type": "t_uint256" - } - ], - "numberOfBytes": "32" - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - } - }, - "sources": { - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/access/Ownable.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/access/Ownable.sol", - "exportedSymbols": { - "Context": [ - 2110 - ], - "Ownable": [ - 112 - ] - }, - "id": 113, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "102:23:0" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol", - "file": "../utils/Context.sol", - "id": 2, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 113, - "sourceUnit": 2111, - "src": "127:30:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 4, - "name": "Context", - "nameLocations": [ - "683:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2110, - "src": "683:7:0" - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "683:7:0" - } - ], - "canonicalName": "Ownable", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 3, - "nodeType": "StructuredDocumentation", - "src": "159:494:0", - "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." - }, - "fullyImplemented": true, - "id": 112, - "linearizedBaseContracts": [ - 112, - 2110 - ], - "name": "Ownable", - "nameLocation": "672:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 7, - "mutability": "mutable", - "name": "_owner", - "nameLocation": "713:6:0", - "nodeType": "VariableDeclaration", - "scope": 112, - "src": "697:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "697:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "id": 13, - "name": "OwnershipTransferred", - "nameLocation": "732:20:0", - "nodeType": "EventDefinition", - "parameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nameLocation": "769:13:0", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "753:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "800:8:0", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "784:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "784:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "752:57:0" - }, - "src": "726:84:0" - }, - { - "body": { - "id": 22, - "nodeType": "Block", - "src": "926:49:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "955:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "955:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "936:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "936:32:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21, - "nodeType": "ExpressionStatement", - "src": "936:32:0" - } - ] - }, - "documentation": { - "id": 14, - "nodeType": "StructuredDocumentation", - "src": "816:91:0", - "text": " @dev Initializes the contract setting the deployer as the initial owner." - }, - "id": 23, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15, - "nodeType": "ParameterList", - "parameters": [], - "src": "923:2:0" - }, - "returnParameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [], - "src": "926:0:0" - }, - "scope": 112, - "src": "912:63:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 30, - "nodeType": "Block", - "src": "1084:41:0", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26, - "name": "_checkOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "1094:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1094:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28, - "nodeType": "ExpressionStatement", - "src": "1094:13:0" - }, - { - "id": 29, - "nodeType": "PlaceholderStatement", - "src": "1117:1:0" - } - ] - }, - "documentation": { - "id": 24, - "nodeType": "StructuredDocumentation", - "src": "981:77:0", - "text": " @dev Throws if called by any account other than the owner." - }, - "id": 31, - "name": "onlyOwner", - "nameLocation": "1072:9:0", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 25, - "nodeType": "ParameterList", - "parameters": [], - "src": "1081:2:0" - }, - "src": "1063:62:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 39, - "nodeType": "Block", - "src": "1256:30:0", - "statements": [ - { - "expression": { - "id": 37, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "1273:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 36, - "id": 38, - "nodeType": "Return", - "src": "1266:13:0" - } - ] - }, - "documentation": { - "id": 32, - "nodeType": "StructuredDocumentation", - "src": "1131:65:0", - "text": " @dev Returns the address of the current owner." - }, - "functionSelector": "8da5cb5b", - "id": 40, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "owner", - "nameLocation": "1210:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 33, - "nodeType": "ParameterList", - "parameters": [], - "src": "1215:2:0" - }, - "returnParameters": { - "id": 36, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 35, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 40, - "src": "1247:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 34, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1247:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1246:9:0" - }, - "scope": 112, - "src": "1201:85:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 53, - "nodeType": "Block", - "src": "1404:85:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 49, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 45, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 40, - "src": "1422:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1422:7:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 47, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "1433:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1433:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1422:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1447:34:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - }, - "value": "Ownable: caller is not the owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - } - ], - "id": 44, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1414:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 51, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1414:68:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 52, - "nodeType": "ExpressionStatement", - "src": "1414:68:0" - } - ] - }, - "documentation": { - "id": 41, - "nodeType": "StructuredDocumentation", - "src": "1292:62:0", - "text": " @dev Throws if the sender is not the owner." - }, - "id": 54, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOwner", - "nameLocation": "1368:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 42, - "nodeType": "ParameterList", - "parameters": [], - "src": "1379:2:0" - }, - "returnParameters": { - "id": 43, - "nodeType": "ParameterList", - "parameters": [], - "src": "1404:0:0" - }, - "scope": 112, - "src": "1359:130:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 67, - "nodeType": "Block", - "src": "1885:47:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1922: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": 62, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1914:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 61, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1914:7:0", - "typeDescriptions": {} - } - }, - "id": 64, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1914:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 60, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "1895:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 65, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1895:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 66, - "nodeType": "ExpressionStatement", - "src": "1895:30:0" - } - ] - }, - "documentation": { - "id": 55, - "nodeType": "StructuredDocumentation", - "src": "1495:331:0", - "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." - }, - "functionSelector": "715018a6", - "id": 68, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 58, - "kind": "modifierInvocation", - "modifierName": { - "id": 57, - "name": "onlyOwner", - "nameLocations": [ - "1875:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 31, - "src": "1875:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "1875:9:0" - } - ], - "name": "renounceOwnership", - "nameLocation": "1840:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 56, - "nodeType": "ParameterList", - "parameters": [], - "src": "1857:2:0" - }, - "returnParameters": { - "id": 59, - "nodeType": "ParameterList", - "parameters": [], - "src": "1885:0:0" - }, - "scope": 112, - "src": "1831:101:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 90, - "nodeType": "Block", - "src": "2151:128:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2169:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 80, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2189: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": 79, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2181:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 78, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2181:7:0", - "typeDescriptions": {} - } - }, - "id": 81, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2181:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2169:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2193:40:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "typeString": "literal_string \"Ownable: new owner is the zero address\"" - }, - "value": "Ownable: new owner is the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "typeString": "literal_string \"Ownable: new owner is the zero address\"" - } - ], - "id": 76, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2161:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2161:73:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 85, - "nodeType": "ExpressionStatement", - "src": "2161:73:0" - }, - { - "expression": { - "arguments": [ - { - "id": 87, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2263:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 86, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "2244:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2244:28:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "2244:28:0" - } - ] - }, - "documentation": { - "id": 69, - "nodeType": "StructuredDocumentation", - "src": "1938:138:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." - }, - "functionSelector": "f2fde38b", - "id": 91, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 74, - "kind": "modifierInvocation", - "modifierName": { - "id": 73, - "name": "onlyOwner", - "nameLocations": [ - "2141:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 31, - "src": "2141:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "2141:9:0" - } - ], - "name": "transferOwnership", - "nameLocation": "2090:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 72, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 71, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "2116:8:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "2108:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 70, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2108:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2107:18:0" - }, - "returnParameters": { - "id": 75, - "nodeType": "ParameterList", - "parameters": [], - "src": "2151:0:0" - }, - "scope": 112, - "src": "2081:198:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 110, - "nodeType": "Block", - "src": "2496:124:0", - "statements": [ - { - "assignments": [ - 98 - ], - "declarations": [ - { - "constant": false, - "id": 98, - "mutability": "mutable", - "name": "oldOwner", - "nameLocation": "2514:8:0", - "nodeType": "VariableDeclaration", - "scope": 110, - "src": "2506:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 97, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2506:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 100, - "initialValue": { - "id": 99, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "2525:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2506:25:0" - }, - { - "expression": { - "id": 103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 101, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "2541:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 102, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "2550:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2541:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 104, - "nodeType": "ExpressionStatement", - "src": "2541:17:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 106, - "name": "oldOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 98, - "src": "2594:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "2604:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 105, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "2573:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2573:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 109, - "nodeType": "EmitStatement", - "src": "2568:45:0" - } - ] - }, - "documentation": { - "id": 92, - "nodeType": "StructuredDocumentation", - "src": "2285:143:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." - }, - "id": 111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOwnership", - "nameLocation": "2442:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "2469:8:0", - "nodeType": "VariableDeclaration", - "scope": 111, - "src": "2461:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 93, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2461:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2460:18:0" - }, - "returnParameters": { - "id": 96, - "nodeType": "ParameterList", - "parameters": [], - "src": "2496:0:0" - }, - "scope": 112, - "src": "2433:187:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 113, - "src": "654:1968:0", - "usedErrors": [] - } - ], - "src": "102:2521:0" - }, - "id": 0 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol", - "exportedSymbols": { - "Address": [ - 2088 - ], - "Context": [ - 2110 - ], - "ERC165": [ - 2383 - ], - "ERC721": [ - 1057 - ], - "IERC165": [ - 2395 - ], - "IERC721": [ - 1173 - ], - "IERC721Metadata": [ - 1758 - ], - "IERC721Receiver": [ - 1191 - ], - "Math": [ - 3260 - ], - "Strings": [ - 2359 - ] - }, - "id": 1058, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 114, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "107:23:1" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 115, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1058, - "sourceUnit": 1174, - "src": "132:23:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "./IERC721Receiver.sol", - "id": 116, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1058, - "sourceUnit": 1192, - "src": "156:31:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", - "file": "./extensions/IERC721Metadata.sol", - "id": 117, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1058, - "sourceUnit": 1759, - "src": "188:42:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 118, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1058, - "sourceUnit": 2089, - "src": "231:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 119, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1058, - "sourceUnit": 2111, - "src": "265:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol", - "file": "../../utils/Strings.sol", - "id": 120, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1058, - "sourceUnit": 2360, - "src": "299:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol", - "file": "../../utils/introspection/ERC165.sol", - "id": 121, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1058, - "sourceUnit": 2384, - "src": "333:46:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 123, - "name": "Context", - "nameLocations": [ - "647:7:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2110, - "src": "647:7:1" - }, - "id": 124, - "nodeType": "InheritanceSpecifier", - "src": "647:7:1" - }, - { - "baseName": { - "id": 125, - "name": "ERC165", - "nameLocations": [ - "656:6:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2383, - "src": "656:6:1" - }, - "id": 126, - "nodeType": "InheritanceSpecifier", - "src": "656:6:1" - }, - { - "baseName": { - "id": 127, - "name": "IERC721", - "nameLocations": [ - "664:7:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1173, - "src": "664:7:1" - }, - "id": 128, - "nodeType": "InheritanceSpecifier", - "src": "664:7:1" - }, - { - "baseName": { - "id": 129, - "name": "IERC721Metadata", - "nameLocations": [ - "673:15:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1758, - "src": "673:15:1" - }, - "id": 130, - "nodeType": "InheritanceSpecifier", - "src": "673:15:1" - } - ], - "canonicalName": "ERC721", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 122, - "nodeType": "StructuredDocumentation", - "src": "381:246:1", - "text": " @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}." - }, - "fullyImplemented": true, - "id": 1057, - "linearizedBaseContracts": [ - 1057, - 1758, - 1173, - 2383, - 2395, - 2110 - ], - "name": "ERC721", - "nameLocation": "637:6:1", - "nodeType": "ContractDefinition", - "nodes": [ - { - "global": false, - "id": 133, - "libraryName": { - "id": 131, - "name": "Address", - "nameLocations": [ - "701:7:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2088, - "src": "701:7:1" - }, - "nodeType": "UsingForDirective", - "src": "695:26:1", - "typeName": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "713:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "global": false, - "id": 136, - "libraryName": { - "id": 134, - "name": "Strings", - "nameLocations": [ - "732:7:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2359, - "src": "732:7:1" - }, - "nodeType": "UsingForDirective", - "src": "726:26:1", - "typeName": { - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "744:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 138, - "mutability": "mutable", - "name": "_name", - "nameLocation": "791:5:1", - "nodeType": "VariableDeclaration", - "scope": 1057, - "src": "776:20:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 137, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "776:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 140, - "mutability": "mutable", - "name": "_symbol", - "nameLocation": "838:7:1", - "nodeType": "VariableDeclaration", - "scope": 1057, - "src": "823:22:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 139, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "823:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 144, - "mutability": "mutable", - "name": "_owners", - "nameLocation": "934:7:1", - "nodeType": "VariableDeclaration", - "scope": 1057, - "src": "898:43:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 143, - "keyType": { - "id": 141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "906:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "898:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 142, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "917:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 148, - "mutability": "mutable", - "name": "_balances", - "nameLocation": "1028:9:1", - "nodeType": "VariableDeclaration", - "scope": 1057, - "src": "992:45:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 147, - "keyType": { - "id": 145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1000:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "992:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1011:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 152, - "mutability": "mutable", - "name": "_tokenApprovals", - "nameLocation": "1129:15:1", - "nodeType": "VariableDeclaration", - "scope": 1057, - "src": "1093:51:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 151, - "keyType": { - "id": 149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1101:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1093:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1112:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 158, - "mutability": "mutable", - "name": "_operatorApprovals", - "nameLocation": "1252:18:1", - "nodeType": "VariableDeclaration", - "scope": 1057, - "src": "1199:71:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 157, - "keyType": { - "id": 153, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1207:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1199:44:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 156, - "keyType": { - "id": 154, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1226:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1218:24:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 155, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1237:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "visibility": "private" - }, - { - "body": { - "id": 174, - "nodeType": "Block", - "src": "1446:57:1", - "statements": [ - { - "expression": { - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 166, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1456:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 167, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 161, - "src": "1464:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1456:13:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 169, - "nodeType": "ExpressionStatement", - "src": "1456:13:1" - }, - { - "expression": { - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 170, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1479:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 171, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "1489:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1479:17:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 173, - "nodeType": "ExpressionStatement", - "src": "1479:17:1" - } - ] - }, - "documentation": { - "id": 159, - "nodeType": "StructuredDocumentation", - "src": "1277:108:1", - "text": " @dev Initializes the contract by setting a `name` and a `symbol` to the token collection." - }, - "id": 175, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 164, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 161, - "mutability": "mutable", - "name": "name_", - "nameLocation": "1416:5:1", - "nodeType": "VariableDeclaration", - "scope": 175, - "src": "1402:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 160, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1402:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 163, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "1437:7:1", - "nodeType": "VariableDeclaration", - "scope": 175, - "src": "1423:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 162, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1423:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1401:44:1" - }, - "returnParameters": { - "id": 165, - "nodeType": "ParameterList", - "parameters": [], - "src": "1446:0:1" - }, - "scope": 1057, - "src": "1390:113:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 2382, - 2394 - ], - "body": { - "id": 205, - "nodeType": "Block", - "src": "1678:192:1", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 186, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "1707:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 188, - "name": "IERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1173, - "src": "1727:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721_$1173_$", - "typeString": "type(contract IERC721)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC721_$1173_$", - "typeString": "type(contract IERC721)" - } - ], - "id": 187, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "1722:4:1", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1722:13:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$1173", - "typeString": "type(contract IERC721)" - } - }, - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1736:11:1", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1722:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1707:40:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 192, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "1763:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 194, - "name": "IERC721Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1758, - "src": "1783:15:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1758_$", - "typeString": "type(contract IERC721Metadata)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1758_$", - "typeString": "type(contract IERC721Metadata)" - } - ], - "id": 193, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "1778:4:1", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1778:21:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$1758", - "typeString": "type(contract IERC721Metadata)" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1800:11:1", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1778:33:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1763:48:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1707:104:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 201, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "1851:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 199, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1827:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721_$1057_$", - "typeString": "type(contract super ERC721)" - } - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1833:17:1", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 2382, - "src": "1827:23:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1827:36:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1707:156:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 185, - "id": 204, - "nodeType": "Return", - "src": "1688:175:1" - } - ] - }, - "documentation": { - "id": 176, - "nodeType": "StructuredDocumentation", - "src": "1509:56:1", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 206, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "1579:17:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 182, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 180, - "name": "ERC165", - "nameLocations": [ - "1646:6:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2383, - "src": "1646:6:1" - }, - { - "id": 181, - "name": "IERC165", - "nameLocations": [ - "1654:7:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2395, - "src": "1654:7:1" - } - ], - "src": "1637:25:1" - }, - "parameters": { - "id": 179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 178, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "1604:11:1", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "1597:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 177, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1597:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1596:20:1" - }, - "returnParameters": { - "id": 185, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 184, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "1672:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 183, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1672:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1671:6:1" - }, - "scope": 1057, - "src": "1570:300:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1098 - ], - "body": { - "id": 229, - "nodeType": "Block", - "src": "2010:123:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 216, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "2028:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2045:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2037:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 217, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2037:7:1", - "typeDescriptions": {} - } - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2037:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2028:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572", - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2049:43:1", - "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": 215, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2020:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2020:73:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 224, - "nodeType": "ExpressionStatement", - "src": "2020:73:1" - }, - { - "expression": { - "baseExpression": { - "id": 225, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "2110:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 227, - "indexExpression": { - "id": 226, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "2120:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2110:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 214, - "id": 228, - "nodeType": "Return", - "src": "2103:23:1" - } - ] - }, - "documentation": { - "id": 207, - "nodeType": "StructuredDocumentation", - "src": "1876:48:1", - "text": " @dev See {IERC721-balanceOf}." - }, - "functionSelector": "70a08231", - "id": 230, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "1938:9:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 211, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1983:8:1" - }, - "parameters": { - "id": 210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 209, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1956:5:1", - "nodeType": "VariableDeclaration", - "scope": 230, - "src": "1948:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 208, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1948:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1947:15:1" - }, - "returnParameters": { - "id": 214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 213, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 230, - "src": "2001:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2001:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2000:9:1" - }, - "scope": 1057, - "src": "1929:204:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1106 - ], - "body": { - "id": 257, - "nodeType": "Block", - "src": "2271:138:1", - "statements": [ - { - "assignments": [ - 240 - ], - "declarations": [ - { - "constant": false, - "id": 240, - "mutability": "mutable", - "name": "owner", - "nameLocation": "2289:5:1", - "nodeType": "VariableDeclaration", - "scope": 257, - "src": "2281:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2281:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 244, - "initialValue": { - "arguments": [ - { - "id": 242, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "2306:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 241, - "name": "_ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "2297:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2297:17:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2281:33:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 246, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "2332:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2349:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2341:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 247, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2341:7:1", - "typeDescriptions": {} - } - }, - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2341:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2332:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "id": 252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2353:26:1", - "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": 245, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2324:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2324:56:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 254, - "nodeType": "ExpressionStatement", - "src": "2324:56:1" - }, - { - "expression": { - "id": 255, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "2397:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 238, - "id": 256, - "nodeType": "Return", - "src": "2390:12:1" - } - ] - }, - "documentation": { - "id": 231, - "nodeType": "StructuredDocumentation", - "src": "2139:46:1", - "text": " @dev See {IERC721-ownerOf}." - }, - "functionSelector": "6352211e", - "id": 258, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nameLocation": "2199:7:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 235, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2244:8:1" - }, - "parameters": { - "id": 234, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 233, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2215:7:1", - "nodeType": "VariableDeclaration", - "scope": 258, - "src": "2207:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2207:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2206:17:1" - }, - "returnParameters": { - "id": 238, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 237, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 258, - "src": "2262:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2262:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2261:9:1" - }, - "scope": 1057, - "src": "2190:219:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1743 - ], - "body": { - "id": 267, - "nodeType": "Block", - "src": "2540:29:1", - "statements": [ - { - "expression": { - "id": 265, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "2557:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 264, - "id": 266, - "nodeType": "Return", - "src": "2550:12:1" - } - ] - }, - "documentation": { - "id": 259, - "nodeType": "StructuredDocumentation", - "src": "2415:51:1", - "text": " @dev See {IERC721Metadata-name}." - }, - "functionSelector": "06fdde03", - "id": 268, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "2480:4:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 261, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2507:8:1" - }, - "parameters": { - "id": 260, - "nodeType": "ParameterList", - "parameters": [], - "src": "2484:2:1" - }, - "returnParameters": { - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 268, - "src": "2525:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 262, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2525:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2524:15:1" - }, - "scope": 1057, - "src": "2471:98:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1749 - ], - "body": { - "id": 277, - "nodeType": "Block", - "src": "2704:31:1", - "statements": [ - { - "expression": { - "id": 275, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2721:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 274, - "id": 276, - "nodeType": "Return", - "src": "2714:14:1" - } - ] - }, - "documentation": { - "id": 269, - "nodeType": "StructuredDocumentation", - "src": "2575:53:1", - "text": " @dev See {IERC721Metadata-symbol}." - }, - "functionSelector": "95d89b41", - "id": 278, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "2642:6:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 271, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2671:8:1" - }, - "parameters": { - "id": 270, - "nodeType": "ParameterList", - "parameters": [], - "src": "2648:2:1" - }, - "returnParameters": { - "id": 274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 273, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "2689:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 272, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2689:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2688:15:1" - }, - "scope": 1057, - "src": "2633:102:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1757 - ], - "body": { - "id": 316, - "nodeType": "Block", - "src": "2889:188:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 288, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 281, - "src": "2914:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 287, - "name": "_requireMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "2899:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", - "typeString": "function (uint256) view" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2899:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 290, - "nodeType": "ExpressionStatement", - "src": "2899:23:1" - }, - { - "assignments": [ - 292 - ], - "declarations": [ - { - "constant": false, - "id": 292, - "mutability": "mutable", - "name": "baseURI", - "nameLocation": "2947:7:1", - "nodeType": "VariableDeclaration", - "scope": 316, - "src": "2933:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 291, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2933:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 295, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 293, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "2957:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2957:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2933:34:1" - }, - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 298, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 292, - "src": "2990:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2984:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 296, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2984:5:1", - "typeDescriptions": {} - } - }, - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2984:14:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2999:6:1", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2984:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3008:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2984:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "", - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3068:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "id": 314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "2984:86:1", - "trueExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 307, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 292, - "src": "3036:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 308, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 281, - "src": "3045:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3053:8:1", - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 2242, - "src": "3045:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3045:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 305, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "3019:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3023:12:1", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3019:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3019:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3012:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 303, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3012:6:1", - "typeDescriptions": {} - } - }, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3012:53:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 286, - "id": 315, - "nodeType": "Return", - "src": "2977:93:1" - } - ] - }, - "documentation": { - "id": 279, - "nodeType": "StructuredDocumentation", - "src": "2741:55:1", - "text": " @dev See {IERC721Metadata-tokenURI}." - }, - "functionSelector": "c87b56dd", - "id": 317, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "2810:8:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 283, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2856:8:1" - }, - "parameters": { - "id": 282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 281, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2827:7:1", - "nodeType": "VariableDeclaration", - "scope": 317, - "src": "2819:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2819:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2818:17:1" - }, - "returnParameters": { - "id": 286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 285, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 317, - "src": "2874:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 284, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2874:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2873:15:1" - }, - "scope": 1057, - "src": "2801:276:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 325, - "nodeType": "Block", - "src": "3385:26:1", - "statements": [ - { - "expression": { - "hexValue": "", - "id": 323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3402:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "functionReturnParameters": 322, - "id": 324, - "nodeType": "Return", - "src": "3395:9:1" - } - ] - }, - "documentation": { - "id": 318, - "nodeType": "StructuredDocumentation", - "src": "3083:231:1", - "text": " @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overridden in child contracts." - }, - "id": 326, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseURI", - "nameLocation": "3328:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 319, - "nodeType": "ParameterList", - "parameters": [], - "src": "3336:2:1" - }, - "returnParameters": { - "id": 322, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 321, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 326, - "src": "3370:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 320, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3370:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3369:15:1" - }, - "scope": 1057, - "src": "3319:92:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 1146 - ], - "body": { - "id": 368, - "nodeType": "Block", - "src": "3538:336:1", - "statements": [ - { - "assignments": [ - 336 - ], - "declarations": [ - { - "constant": false, - "id": 336, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3556:5:1", - "nodeType": "VariableDeclaration", - "scope": 368, - "src": "3548:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3548:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 341, - "initialValue": { - "arguments": [ - { - "id": 339, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "3579:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 337, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "3564:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$1057_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3571:7:1", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 258, - "src": "3564:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3564:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3548:39:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 343, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3605:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 344, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 336, - "src": "3611:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3605:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3618:35:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - }, - "value": "ERC721: approval to current owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - } - ], - "id": 342, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3597:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3597:57:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 348, - "nodeType": "ExpressionStatement", - "src": "3597:57:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 350, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "3686:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3686:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 352, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 336, - "src": "3702:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3686:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 355, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 336, - "src": "3728:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 356, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "3735:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3735:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 354, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 422, - "src": "3711:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3711:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3686:62:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3762:63:1", - "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": 349, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3665:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3665:170:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 362, - "nodeType": "ExpressionStatement", - "src": "3665:170:1" - }, - { - "expression": { - "arguments": [ - { - "id": 364, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3855:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 365, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "3859:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 363, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 889, - "src": "3846:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3846:21:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 367, - "nodeType": "ExpressionStatement", - "src": "3846:21:1" - } - ] - }, - "documentation": { - "id": 327, - "nodeType": "StructuredDocumentation", - "src": "3417:46:1", - "text": " @dev See {IERC721-approve}." - }, - "functionSelector": "095ea7b3", - "id": 369, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "3477:7:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 333, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3529:8:1" - }, - "parameters": { - "id": 332, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 329, - "mutability": "mutable", - "name": "to", - "nameLocation": "3493:2:1", - "nodeType": "VariableDeclaration", - "scope": 369, - "src": "3485:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3485:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 331, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3505:7:1", - "nodeType": "VariableDeclaration", - "scope": 369, - "src": "3497:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3497:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3484:29:1" - }, - "returnParameters": { - "id": 334, - "nodeType": "ParameterList", - "parameters": [], - "src": "3538:0:1" - }, - "scope": 1057, - "src": "3468:406:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1162 - ], - "body": { - "id": 386, - "nodeType": "Block", - "src": "4020:82:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 379, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "4045:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 378, - "name": "_requireMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "4030:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", - "typeString": "function (uint256) view" - } - }, - "id": 380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4030:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 381, - "nodeType": "ExpressionStatement", - "src": "4030:23:1" - }, - { - "expression": { - "baseExpression": { - "id": 382, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 152, - "src": "4071:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 384, - "indexExpression": { - "id": 383, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "4087:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4071:24:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 377, - "id": 385, - "nodeType": "Return", - "src": "4064:31:1" - } - ] - }, - "documentation": { - "id": 370, - "nodeType": "StructuredDocumentation", - "src": "3880:50:1", - "text": " @dev See {IERC721-getApproved}." - }, - "functionSelector": "081812fc", - "id": 387, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nameLocation": "3944:11:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 374, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3993:8:1" - }, - "parameters": { - "id": 373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 372, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3964:7:1", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "3956:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3956:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3955:17:1" - }, - "returnParameters": { - "id": 377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 376, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 387, - "src": "4011:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 375, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4011:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4010:9:1" - }, - "scope": 1057, - "src": "3935:167:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1154 - ], - "body": { - "id": 403, - "nodeType": "Block", - "src": "4253:69:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 397, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "4282:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4282:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 399, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 390, - "src": "4296:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 400, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4306:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 396, - "name": "_setApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "4263:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4263:52:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 402, - "nodeType": "ExpressionStatement", - "src": "4263:52:1" - } - ] - }, - "documentation": { - "id": 388, - "nodeType": "StructuredDocumentation", - "src": "4108:56:1", - "text": " @dev See {IERC721-setApprovalForAll}." - }, - "functionSelector": "a22cb465", - "id": 404, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nameLocation": "4178:17:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 394, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4244:8:1" - }, - "parameters": { - "id": 393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 390, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4204:8:1", - "nodeType": "VariableDeclaration", - "scope": 404, - "src": "4196:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4196:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "approved", - "nameLocation": "4219:8:1", - "nodeType": "VariableDeclaration", - "scope": 404, - "src": "4214:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 391, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4214:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4195:33:1" - }, - "returnParameters": { - "id": 395, - "nodeType": "ParameterList", - "parameters": [], - "src": "4253:0:1" - }, - "scope": 1057, - "src": "4169:153:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1172 - ], - "body": { - "id": 421, - "nodeType": "Block", - "src": "4491:59:1", - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 415, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 158, - "src": "4508:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 417, - "indexExpression": { - "id": 416, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "4527:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4508:25:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 419, - "indexExpression": { - "id": 418, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "4534:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4508:35:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 414, - "id": 420, - "nodeType": "Return", - "src": "4501:42:1" - } - ] - }, - "documentation": { - "id": 405, - "nodeType": "StructuredDocumentation", - "src": "4328:55:1", - "text": " @dev See {IERC721-isApprovedForAll}." - }, - "functionSelector": "e985e9c5", - "id": 422, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nameLocation": "4397:16:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 411, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4467:8:1" - }, - "parameters": { - "id": 410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 407, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4422:5:1", - "nodeType": "VariableDeclaration", - "scope": 422, - "src": "4414:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4414:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 409, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4437:8:1", - "nodeType": "VariableDeclaration", - "scope": 422, - "src": "4429:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4429:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4413:33:1" - }, - "returnParameters": { - "id": 414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 413, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 422, - "src": "4485:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 412, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4485:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4484:6:1" - }, - "scope": 1057, - "src": "4388:162:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1138 - ], - "body": { - "id": 448, - "nodeType": "Block", - "src": "4731:207:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 435, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "4820:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4820:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 437, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "4834:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 434, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "4801:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4801:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564", - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4844:47:1", - "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": 433, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "4793:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4793:99:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 441, - "nodeType": "ExpressionStatement", - "src": "4793:99:1" - }, - { - "expression": { - "arguments": [ - { - "id": 443, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 425, - "src": "4913:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 444, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "4919:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 445, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "4923:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 442, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "4903:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4903:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 447, - "nodeType": "ExpressionStatement", - "src": "4903:28:1" - } - ] - }, - "documentation": { - "id": 423, - "nodeType": "StructuredDocumentation", - "src": "4556:51:1", - "text": " @dev See {IERC721-transferFrom}." - }, - "functionSelector": "23b872dd", - "id": 449, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "4621:12:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 431, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4722:8:1" - }, - "parameters": { - "id": 430, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 425, - "mutability": "mutable", - "name": "from", - "nameLocation": "4651:4:1", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "4643:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 424, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4643:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 427, - "mutability": "mutable", - "name": "to", - "nameLocation": "4673:2:1", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "4665:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 426, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4665:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 429, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4693:7:1", - "nodeType": "VariableDeclaration", - "scope": 449, - "src": "4685:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 428, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4685:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4633:73:1" - }, - "returnParameters": { - "id": 432, - "nodeType": "ParameterList", - "parameters": [], - "src": "4731:0:1" - }, - "scope": 1057, - "src": "4612:326:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1128 - ], - "body": { - "id": 467, - "nodeType": "Block", - "src": "5127:56:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 461, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 452, - "src": "5154:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 462, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "5160:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 463, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 456, - "src": "5164:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "", - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5173:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 460, - "name": "safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 468, - 498 - ], - "referencedDeclaration": 498, - "src": "5137:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5137:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 466, - "nodeType": "ExpressionStatement", - "src": "5137:39:1" - } - ] - }, - "documentation": { - "id": 450, - "nodeType": "StructuredDocumentation", - "src": "4944:55:1", - "text": " @dev See {IERC721-safeTransferFrom}." - }, - "functionSelector": "42842e0e", - "id": 468, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "5013:16:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 458, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5118:8:1" - }, - "parameters": { - "id": 457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 452, - "mutability": "mutable", - "name": "from", - "nameLocation": "5047:4:1", - "nodeType": "VariableDeclaration", - "scope": 468, - "src": "5039:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 451, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5039:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 454, - "mutability": "mutable", - "name": "to", - "nameLocation": "5069:2:1", - "nodeType": "VariableDeclaration", - "scope": 468, - "src": "5061:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 453, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5061:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 456, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5089:7:1", - "nodeType": "VariableDeclaration", - "scope": 468, - "src": "5081:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5081:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5029:73:1" - }, - "returnParameters": { - "id": 459, - "nodeType": "ParameterList", - "parameters": [], - "src": "5127:0:1" - }, - "scope": 1057, - "src": "5004:179:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1118 - ], - "body": { - "id": 497, - "nodeType": "Block", - "src": "5399:164:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 483, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "5436:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5436:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 485, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "5450:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 482, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "5417:18:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5417:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564", - "id": 487, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5460:47:1", - "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": 481, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5409:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5409:99:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 489, - "nodeType": "ExpressionStatement", - "src": "5409:99:1" - }, - { - "expression": { - "arguments": [ - { - "id": 491, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 471, - "src": "5532:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 492, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 473, - "src": "5538:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 493, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 475, - "src": "5542:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 494, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "5551:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 490, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "5518:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5518:38:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 496, - "nodeType": "ExpressionStatement", - "src": "5518:38:1" - } - ] - }, - "documentation": { - "id": 469, - "nodeType": "StructuredDocumentation", - "src": "5189:55:1", - "text": " @dev See {IERC721-safeTransferFrom}." - }, - "functionSelector": "b88d4fde", - "id": 498, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "5258:16:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 479, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5390:8:1" - }, - "parameters": { - "id": 478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 471, - "mutability": "mutable", - "name": "from", - "nameLocation": "5292:4:1", - "nodeType": "VariableDeclaration", - "scope": 498, - "src": "5284:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5284:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 473, - "mutability": "mutable", - "name": "to", - "nameLocation": "5314:2:1", - "nodeType": "VariableDeclaration", - "scope": 498, - "src": "5306:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5306:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 475, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5334:7:1", - "nodeType": "VariableDeclaration", - "scope": 498, - "src": "5326:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5326:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 477, - "mutability": "mutable", - "name": "data", - "nameLocation": "5364:4:1", - "nodeType": "VariableDeclaration", - "scope": 498, - "src": "5351:17:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 476, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5351:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5274:100:1" - }, - "returnParameters": { - "id": 480, - "nodeType": "ParameterList", - "parameters": [], - "src": "5399:0:1" - }, - "scope": 1057, - "src": "5249:314:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 526, - "nodeType": "Block", - "src": "6564:165:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 511, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "6584:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 512, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "6590:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 513, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "6594:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 510, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 865, - "src": "6574:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6574:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 515, - "nodeType": "ExpressionStatement", - "src": "6574:28:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 518, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "6643:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 519, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "6649:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 520, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "6653:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 521, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "6662:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 517, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 997, - "src": "6620:22:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6620:47:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6669:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 516, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6612:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6612:110:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 525, - "nodeType": "ExpressionStatement", - "src": "6612:110:1" - } - ] - }, - "documentation": { - "id": 499, - "nodeType": "StructuredDocumentation", - "src": "5569:850:1", - "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." - }, - "id": 527, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nameLocation": "6433:13:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 501, - "mutability": "mutable", - "name": "from", - "nameLocation": "6464:4:1", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "6456:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 500, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6456:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 503, - "mutability": "mutable", - "name": "to", - "nameLocation": "6486:2:1", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "6478:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 502, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6478:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 505, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "6506:7:1", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "6498:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 504, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6498:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 507, - "mutability": "mutable", - "name": "data", - "nameLocation": "6536:4:1", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "6523:17:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 506, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6523:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6446:100:1" - }, - "returnParameters": { - "id": 509, - "nodeType": "ParameterList", - "parameters": [], - "src": "6564:0:1" - }, - "scope": 1057, - "src": "6424:305:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 539, - "nodeType": "Block", - "src": "6913:40:1", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 535, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "6930:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 537, - "indexExpression": { - "id": 536, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 530, - "src": "6938:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6930:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 534, - "id": 538, - "nodeType": "Return", - "src": "6923:23:1" - } - ] - }, - "documentation": { - "id": 528, - "nodeType": "StructuredDocumentation", - "src": "6735:98:1", - "text": " @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist" - }, - "id": 540, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_ownerOf", - "nameLocation": "6847:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 531, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 530, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "6864:7:1", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "6856:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 529, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6856:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6855:17:1" - }, - "returnParameters": { - "id": 534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 533, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "6904:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6904:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6903:9:1" - }, - "scope": 1057, - "src": "6838:115:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 557, - "nodeType": "Block", - "src": "7327:55:1", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 549, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 543, - "src": "7353:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 548, - "name": "_ownerOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "7344:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7344:17:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7373:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7365:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7365:7:1", - "typeDescriptions": {} - } - }, - "id": 554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7365:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7344:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 547, - "id": 556, - "nodeType": "Return", - "src": "7337:38:1" - } - ] - }, - "documentation": { - "id": 541, - "nodeType": "StructuredDocumentation", - "src": "6959:292:1", - "text": " @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)." - }, - "id": 558, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nameLocation": "7265:7:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 544, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 543, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "7281:7:1", - "nodeType": "VariableDeclaration", - "scope": 558, - "src": "7273:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7273:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7272:17:1" - }, - "returnParameters": { - "id": 547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 546, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 558, - "src": "7321:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 545, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7321:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7320:6:1" - }, - "scope": 1057, - "src": "7256:126:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 591, - "nodeType": "Block", - "src": "7639:162:1", - "statements": [ - { - "assignments": [ - 569 - ], - "declarations": [ - { - "constant": false, - "id": 569, - "mutability": "mutable", - "name": "owner", - "nameLocation": "7657:5:1", - "nodeType": "VariableDeclaration", - "scope": 591, - "src": "7649:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 568, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7649:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 574, - "initialValue": { - "arguments": [ - { - "id": 572, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "7680:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 570, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "7665:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$1057_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7672:7:1", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 258, - "src": "7665:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7665:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7649:39:1" - }, - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 575, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 561, - "src": "7706:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 576, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 569, - "src": "7717:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7706:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 579, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 569, - "src": "7743:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 580, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 561, - "src": "7750:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 578, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 422, - "src": "7726:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7726:32:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7706:52:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 584, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "7774:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 583, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 387, - "src": "7762:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7762:20:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 586, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 561, - "src": "7786:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7762:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7706:87:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 589, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7705:89:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 567, - "id": 590, - "nodeType": "Return", - "src": "7698:96:1" - } - ] - }, - "documentation": { - "id": 559, - "nodeType": "StructuredDocumentation", - "src": "7388:147:1", - "text": " @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist." - }, - "id": 592, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isApprovedOrOwner", - "nameLocation": "7549:18:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 564, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 561, - "mutability": "mutable", - "name": "spender", - "nameLocation": "7576:7:1", - "nodeType": "VariableDeclaration", - "scope": 592, - "src": "7568:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7568:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 563, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "7593:7:1", - "nodeType": "VariableDeclaration", - "scope": 592, - "src": "7585:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7585:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7567:34:1" - }, - "returnParameters": { - "id": 567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 566, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 592, - "src": "7633:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 565, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7633:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7632:6:1" - }, - "scope": 1057, - "src": "7540:261:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 606, - "nodeType": "Block", - "src": "8196:43:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 601, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 595, - "src": "8216:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 602, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "8220:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "", - "id": 603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8229:2:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 600, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 607, - 636 - ], - "referencedDeclaration": 636, - "src": "8206:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8206:26:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 605, - "nodeType": "ExpressionStatement", - "src": "8206:26:1" - } - ] - }, - "documentation": { - "id": 593, - "nodeType": "StructuredDocumentation", - "src": "7807:319:1", - "text": " @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." - }, - "id": 607, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nameLocation": "8140:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 598, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 595, - "mutability": "mutable", - "name": "to", - "nameLocation": "8158:2:1", - "nodeType": "VariableDeclaration", - "scope": 607, - "src": "8150:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 594, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8150:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 597, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "8170:7:1", - "nodeType": "VariableDeclaration", - "scope": 607, - "src": "8162:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8162:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8149:29:1" - }, - "returnParameters": { - "id": 599, - "nodeType": "ParameterList", - "parameters": [], - "src": "8196:0:1" - }, - "scope": 1057, - "src": "8131:108:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 635, - "nodeType": "Block", - "src": "8574:195:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 618, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 610, - "src": "8590:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 619, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 612, - "src": "8594:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 617, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "8584:5:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8584:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 621, - "nodeType": "ExpressionStatement", - "src": "8584:18:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8664:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8656:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 624, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8656:7:1", - "typeDescriptions": {} - } - }, - "id": 627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8656:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 628, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 610, - "src": "8668:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 629, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 612, - "src": "8672:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 630, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 614, - "src": "8681:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 623, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 997, - "src": "8633:22:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8633:53:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8700:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 622, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8612:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8612:150:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 634, - "nodeType": "ExpressionStatement", - "src": "8612:150:1" - } - ] - }, - "documentation": { - "id": 608, - "nodeType": "StructuredDocumentation", - "src": "8245:210:1", - "text": " @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients." - }, - "id": 636, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nameLocation": "8469:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 615, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 610, - "mutability": "mutable", - "name": "to", - "nameLocation": "8496:2:1", - "nodeType": "VariableDeclaration", - "scope": 636, - "src": "8488:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 609, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8488:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 612, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "8516:7:1", - "nodeType": "VariableDeclaration", - "scope": 636, - "src": "8508:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8508:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 614, - "mutability": "mutable", - "name": "data", - "nameLocation": "8546:4:1", - "nodeType": "VariableDeclaration", - "scope": 636, - "src": "8533:17:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8533:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8478:78:1" - }, - "returnParameters": { - "id": 616, - "nodeType": "ParameterList", - "parameters": [], - "src": "8574:0:1" - }, - "scope": 1057, - "src": "8460:309:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 712, - "nodeType": "Block", - "src": "9152:859:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 645, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "9170:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9184:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9176:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9176:7:1", - "typeDescriptions": {} - } - }, - "id": 649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9176:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9170:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9188:34:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - }, - "value": "ERC721: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - } - ], - "id": 644, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9162:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9162:61:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 653, - "nodeType": "ExpressionStatement", - "src": "9162:61:1" - }, - { - "expression": { - "arguments": [ - { - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9241:17:1", - "subExpression": { - "arguments": [ - { - "id": 656, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9250:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 655, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 558, - "src": "9242:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9242:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9260:30:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - }, - "value": "ERC721: token already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - } - ], - "id": 654, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9233:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9233:58:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "ExpressionStatement", - "src": "9233:58:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9331:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9323:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 663, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9323:7:1", - "typeDescriptions": {} - } - }, - "id": 666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9323:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 667, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "9335:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 668, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9339:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9348:1:1", - "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": 662, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1043, - "src": "9302:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9302:48:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 671, - "nodeType": "ExpressionStatement", - "src": "9302:48:1" - }, - { - "expression": { - "arguments": [ - { - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9445:17:1", - "subExpression": { - "arguments": [ - { - "id": 674, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9454:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 673, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 558, - "src": "9446:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9446:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9464:30:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - }, - "value": "ERC721: token already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - } - ], - "id": 672, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9437:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9437:58:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 679, - "nodeType": "ExpressionStatement", - "src": "9437:58:1" - }, - { - "id": 686, - "nodeType": "UncheckedBlock", - "src": "9506:360:1", - "statements": [ - { - "expression": { - "id": 684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 680, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "9837:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 682, - "indexExpression": { - "id": 681, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "9847:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9837:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9854:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9837:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 685, - "nodeType": "ExpressionStatement", - "src": "9837:18:1" - } - ] - }, - { - "expression": { - "id": 691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 687, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "9876:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 689, - "indexExpression": { - "id": 688, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9884:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9876:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 690, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "9895:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9876:21:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 692, - "nodeType": "ExpressionStatement", - "src": "9876:21:1" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9930:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9922:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 694, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9922:7:1", - "typeDescriptions": {} - } - }, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9922:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 698, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "9934:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 699, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9938:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 693, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "9913:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9913:33:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 701, - "nodeType": "EmitStatement", - "src": "9908:38:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9985:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9977:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 703, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9977:7:1", - "typeDescriptions": {} - } - }, - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9977:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 707, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "9989:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 708, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "9993:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 709, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10002:1:1", - "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": 702, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "9957:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9957:47:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "9957:47:1" - } - ] - }, - "documentation": { - "id": 637, - "nodeType": "StructuredDocumentation", - "src": "8775:311:1", - "text": " @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event." - }, - "id": 713, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "9100:5:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 639, - "mutability": "mutable", - "name": "to", - "nameLocation": "9114:2:1", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "9106:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9106:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 641, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "9126:7:1", - "nodeType": "VariableDeclaration", - "scope": 713, - "src": "9118:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9118:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9105:29:1" - }, - "returnParameters": { - "id": 643, - "nodeType": "ParameterList", - "parameters": [], - "src": "9152:0:1" - }, - "scope": 1057, - "src": "9091:920:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 779, - "nodeType": "Block", - "src": "10386:713:1", - "statements": [ - { - "assignments": [ - 720 - ], - "declarations": [ - { - "constant": false, - "id": 720, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10404:5:1", - "nodeType": "VariableDeclaration", - "scope": 779, - "src": "10396:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10396:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 725, - "initialValue": { - "arguments": [ - { - "id": 723, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "10427:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 721, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "10412:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$1057_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10419:7:1", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 258, - "src": "10412:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10412:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10396:39:1" - }, - { - "expression": { - "arguments": [ - { - "id": 727, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "10467:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10482:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10474:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10474:7:1", - "typeDescriptions": {} - } - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10474:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 732, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "10486:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10495:1:1", - "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": 726, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1043, - "src": "10446:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10446:51:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 735, - "nodeType": "ExpressionStatement", - "src": "10446:51:1" - }, - { - "expression": { - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 736, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "10599:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 739, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "10622:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 737, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "10607:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$1057_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10614:7:1", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 258, - "src": "10607:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10607:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10599:31:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 742, - "nodeType": "ExpressionStatement", - "src": "10599:31:1" - }, - { - "expression": { - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "10668:31:1", - "subExpression": { - "baseExpression": { - "id": 743, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 152, - "src": "10675:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 745, - "indexExpression": { - "id": 744, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "10691:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10675:24:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 747, - "nodeType": "ExpressionStatement", - "src": "10668:31:1" - }, - { - "id": 754, - "nodeType": "UncheckedBlock", - "src": "10710:237:1", - "statements": [ - { - "expression": { - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 748, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "10915:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 750, - "indexExpression": { - "id": 749, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "10925:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10915:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10935:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10915:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 753, - "nodeType": "ExpressionStatement", - "src": "10915:21:1" - } - ] - }, - { - "expression": { - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "10956:23:1", - "subExpression": { - "baseExpression": { - "id": 755, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "10963:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 757, - "indexExpression": { - "id": 756, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "10971:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10963:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 759, - "nodeType": "ExpressionStatement", - "src": "10956:23:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 761, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "11004:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11019:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11011:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11011:7:1", - "typeDescriptions": {} - } - }, - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11011:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 766, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "11023:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 760, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "10995:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10995:36:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 768, - "nodeType": "EmitStatement", - "src": "10990:41:1" - }, - { - "expression": { - "arguments": [ - { - "id": 770, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "11062:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11077:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11069:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11069:7:1", - "typeDescriptions": {} - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11069:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 775, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "11081:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11090:1:1", - "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": 769, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "11042:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11042:50:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 778, - "nodeType": "ExpressionStatement", - "src": "11042:50:1" - } - ] - }, - "documentation": { - "id": 714, - "nodeType": "StructuredDocumentation", - "src": "10017:315:1", - "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": 780, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "10346:5:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 716, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "10360:7:1", - "nodeType": "VariableDeclaration", - "scope": 780, - "src": "10352:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10352:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10351:17:1" - }, - "returnParameters": { - "id": 718, - "nodeType": "ParameterList", - "parameters": [], - "src": "10386:0:1" - }, - "scope": 1057, - "src": "10337:762:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 864, - "nodeType": "Block", - "src": "11532:1124:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 793, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "11565:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 791, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "11550:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$1057_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11557:7:1", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 258, - "src": "11550:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11550:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 795, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "11577:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11550:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572", - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11583:39:1", - "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": 790, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11542:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11542:81:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 799, - "nodeType": "ExpressionStatement", - "src": "11542:81:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 801, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "11641:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11655:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11647:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11647:7:1", - "typeDescriptions": {} - } - }, - "id": 805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11647:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11641:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11659:38:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - }, - "value": "ERC721: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - } - ], - "id": 800, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11633:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11633:65:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 809, - "nodeType": "ExpressionStatement", - "src": "11633:65:1" - }, - { - "expression": { - "arguments": [ - { - "id": 811, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "11730:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 812, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "11736:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 813, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "11740:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11749:1:1", - "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": 810, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1043, - "src": "11709:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11709:42:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 816, - "nodeType": "ExpressionStatement", - "src": "11709:42:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 820, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "11866:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 818, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "11851:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$1057_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11858:7:1", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 258, - "src": "11851:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11851:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 822, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "11878:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11851:31:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572", - "id": 824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11884:39:1", - "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": 817, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11843:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11843:81:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 826, - "nodeType": "ExpressionStatement", - "src": "11843:81:1" - }, - { - "expression": { - "id": 830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "11986:31:1", - "subExpression": { - "baseExpression": { - "id": 827, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 152, - "src": "11993:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 829, - "indexExpression": { - "id": 828, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "12009:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11993:24:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 831, - "nodeType": "ExpressionStatement", - "src": "11986:31:1" - }, - { - "id": 844, - "nodeType": "UncheckedBlock", - "src": "12028:496:1", - "statements": [ - { - "expression": { - "id": 836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 832, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "12461:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 834, - "indexExpression": { - "id": 833, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "12471:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12461:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12480:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12461:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 837, - "nodeType": "ExpressionStatement", - "src": "12461:20:1" - }, - { - "expression": { - "id": 842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 838, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "12495:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 840, - "indexExpression": { - "id": 839, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "12505:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12495:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12512:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12495:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 843, - "nodeType": "ExpressionStatement", - "src": "12495:18:1" - } - ] - }, - { - "expression": { - "id": 849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 845, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "12533:7:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 847, - "indexExpression": { - "id": 846, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "12541:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12533:16:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 848, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "12552:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12533:21:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 850, - "nodeType": "ExpressionStatement", - "src": "12533:21:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 852, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "12579:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 853, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "12585:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 854, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "12589:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 851, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "12570:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12570:27:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 856, - "nodeType": "EmitStatement", - "src": "12565:32:1" - }, - { - "expression": { - "arguments": [ - { - "id": 858, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "12628:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 859, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "12634:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 860, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "12638:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 861, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12647:1:1", - "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": 857, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "12608:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12608:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 863, - "nodeType": "ExpressionStatement", - "src": "12608:41:1" - } - ] - }, - "documentation": { - "id": 781, - "nodeType": "StructuredDocumentation", - "src": "11105:313:1", - "text": " @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event." - }, - "id": 865, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "11432:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 788, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 783, - "mutability": "mutable", - "name": "from", - "nameLocation": "11459:4:1", - "nodeType": "VariableDeclaration", - "scope": 865, - "src": "11451:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 782, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11451:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 785, - "mutability": "mutable", - "name": "to", - "nameLocation": "11481:2:1", - "nodeType": "VariableDeclaration", - "scope": 865, - "src": "11473:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 784, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11473:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 787, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "11501:7:1", - "nodeType": "VariableDeclaration", - "scope": 865, - "src": "11493:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 786, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11493:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11441:73:1" - }, - "returnParameters": { - "id": 789, - "nodeType": "ParameterList", - "parameters": [], - "src": "11532:0:1" - }, - "scope": 1057, - "src": "11423:1233:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 888, - "nodeType": "Block", - "src": "12832:107:1", - "statements": [ - { - "expression": { - "id": 877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 873, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 152, - "src": "12842:15:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 875, - "indexExpression": { - "id": 874, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 870, - "src": "12858:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12842:24:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 876, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 868, - "src": "12869:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12842:29:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 878, - "nodeType": "ExpressionStatement", - "src": "12842:29:1" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "id": 882, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 870, - "src": "12910:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 880, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "12895:6:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$1057_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12902:7:1", - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 258, - "src": "12895:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12895:23:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 884, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 868, - "src": "12920:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 885, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 870, - "src": "12924:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 879, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1081, - "src": "12886:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12886:46:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 887, - "nodeType": "EmitStatement", - "src": "12881:51:1" - } - ] - }, - "documentation": { - "id": 866, - "nodeType": "StructuredDocumentation", - "src": "12662:101:1", - "text": " @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event." - }, - "id": 889, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "12777:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 871, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 868, - "mutability": "mutable", - "name": "to", - "nameLocation": "12794:2:1", - "nodeType": "VariableDeclaration", - "scope": 889, - "src": "12786:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 867, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12786:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 870, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "12806:7:1", - "nodeType": "VariableDeclaration", - "scope": 889, - "src": "12798:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12798:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12785:29:1" - }, - "returnParameters": { - "id": 872, - "nodeType": "ParameterList", - "parameters": [], - "src": "12832:0:1" - }, - "scope": 1057, - "src": "12768:171:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 920, - "nodeType": "Block", - "src": "13198:184:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 900, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "13216:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 901, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13225:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13216:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "id": 903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13235:27:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "typeString": "literal_string \"ERC721: approve to caller\"" - }, - "value": "ERC721: approve to caller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "typeString": "literal_string \"ERC721: approve to caller\"" - } - ], - "id": 899, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "13208:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13208:55:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 905, - "nodeType": "ExpressionStatement", - "src": "13208:55:1" - }, - { - "expression": { - "id": 912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 906, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 158, - "src": "13273:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 909, - "indexExpression": { - "id": 907, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "13292:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13273:25:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 910, - "indexExpression": { - "id": 908, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13299:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13273:35:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 911, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "13311:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13273:46:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 913, - "nodeType": "ExpressionStatement", - "src": "13273:46:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 915, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "13349:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 916, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "13356:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 917, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "13366:8:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 914, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1090, - "src": "13334:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13334:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 919, - "nodeType": "EmitStatement", - "src": "13329:46:1" - } - ] - }, - "documentation": { - "id": 890, - "nodeType": "StructuredDocumentation", - "src": "12945:125:1", - "text": " @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event." - }, - "id": 921, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setApprovalForAll", - "nameLocation": "13084:18:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 892, - "mutability": "mutable", - "name": "owner", - "nameLocation": "13120:5:1", - "nodeType": "VariableDeclaration", - "scope": 921, - "src": "13112:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 891, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13112:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 894, - "mutability": "mutable", - "name": "operator", - "nameLocation": "13143:8:1", - "nodeType": "VariableDeclaration", - "scope": 921, - "src": "13135:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13135:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 896, - "mutability": "mutable", - "name": "approved", - "nameLocation": "13166:8:1", - "nodeType": "VariableDeclaration", - "scope": 921, - "src": "13161:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 895, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13161:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "13102:78:1" - }, - "returnParameters": { - "id": 898, - "nodeType": "ParameterList", - "parameters": [], - "src": "13198:0:1" - }, - "scope": 1057, - "src": "13075:307:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 934, - "nodeType": "Block", - "src": "13529:70:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 929, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "13555:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 928, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 558, - "src": "13547:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13547:16:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13565:26:1", - "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": 927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "13539:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13539:53:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 933, - "nodeType": "ExpressionStatement", - "src": "13539:53:1" - } - ] - }, - "documentation": { - "id": 922, - "nodeType": "StructuredDocumentation", - "src": "13388:73:1", - "text": " @dev Reverts if the `tokenId` has not been minted yet." - }, - "id": 935, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_requireMinted", - "nameLocation": "13475:14:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 924, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "13498:7:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "13490:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13490:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13489:17:1" - }, - "returnParameters": { - "id": 926, - "nodeType": "ParameterList", - "parameters": [], - "src": "13529:0:1" - }, - "scope": 1057, - "src": "13466:133:1", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 996, - "nodeType": "Block", - "src": "14306:676:1", - "statements": [ - { - "condition": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 949, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 940, - "src": "14320:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14323:10:1", - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 1776, - "src": "14320:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14320:15:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 994, - "nodeType": "Block", - "src": "14940:36:1", - "statements": [ - { - "expression": { - "hexValue": "74727565", - "id": 992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14961:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 948, - "id": 993, - "nodeType": "Return", - "src": "14954:11:1" - } - ] - }, - "id": 995, - "nodeType": "IfStatement", - "src": "14316:660:1", - "trueBody": { - "id": 991, - "nodeType": "Block", - "src": "14337:597:1", - "statements": [ - { - "clauses": [ - { - "block": { - "id": 971, - "nodeType": "Block", - "src": "14451:91:1", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 965, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 963, - "src": "14476:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 966, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1191, - "src": "14486:15:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1191_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14502:16:1", - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 1190, - "src": "14486:32:1", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$", - "typeString": "function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)" - } - }, - "id": 968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14519:8:1", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "14486:41:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "14476:51:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 948, - "id": 970, - "nodeType": "Return", - "src": "14469:58:1" - } - ] - }, - "errorName": "", - "id": 972, - "nodeType": "TryCatchClause", - "parameters": { - "id": 964, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 963, - "mutability": "mutable", - "name": "retval", - "nameLocation": "14443:6:1", - "nodeType": "VariableDeclaration", - "scope": 972, - "src": "14436:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 962, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "14436:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "14435:15:1" - }, - "src": "14427:115:1" - }, - { - "block": { - "id": 988, - "nodeType": "Block", - "src": "14571:353:1", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 976, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 974, - "src": "14593:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14600:6:1", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "14593:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14610:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14593:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 986, - "nodeType": "Block", - "src": "14720:190:1", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "14806:86:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14843:2:1", - "type": "", - "value": "32" - }, - { - "name": "reason", - "nodeType": "YulIdentifier", - "src": "14847:6:1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14839:3:1" - }, - "nodeType": "YulFunctionCall", - "src": "14839:15:1" - }, - { - "arguments": [ - { - "name": "reason", - "nodeType": "YulIdentifier", - "src": "14862:6:1" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "14856:5:1" - }, - "nodeType": "YulFunctionCall", - "src": "14856:13:1" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "14832:6:1" - }, - "nodeType": "YulFunctionCall", - "src": "14832:38:1" - }, - "nodeType": "YulExpressionStatement", - "src": "14832:38:1" - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 974, - "isOffset": false, - "isSlot": false, - "src": "14847:6:1", - "valueSize": 1 - }, - { - "declaration": 974, - "isOffset": false, - "isSlot": false, - "src": "14862:6:1", - "valueSize": 1 - } - ], - "id": 985, - "nodeType": "InlineAssembly", - "src": "14797:95:1" - } - ] - }, - "id": 987, - "nodeType": "IfStatement", - "src": "14589:321:1", - "trueBody": { - "id": 984, - "nodeType": "Block", - "src": "14613:101:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14642:52:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 980, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "14635:6:1", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14635:60:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 983, - "nodeType": "ExpressionStatement", - "src": "14635:60:1" - } - ] - } - } - ] - }, - "errorName": "", - "id": 989, - "nodeType": "TryCatchClause", - "parameters": { - "id": 975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 974, - "mutability": "mutable", - "name": "reason", - "nameLocation": "14563:6:1", - "nodeType": "VariableDeclaration", - "scope": 989, - "src": "14550:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 973, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "14550:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "14549:21:1" - }, - "src": "14543:381:1" - } - ], - "externalCall": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 956, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "14392:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14392:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 958, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 938, - "src": "14406:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 959, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "14412:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 960, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 944, - "src": "14421:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "arguments": [ - { - "id": 953, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 940, - "src": "14371:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 952, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1191, - "src": "14355:15:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1191_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14355:19:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$1191", - "typeString": "contract IERC721Receiver" - } - }, - "id": 955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14375:16:1", - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 1190, - "src": "14355:36:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14355:71:1", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 990, - "nodeType": "TryStatement", - "src": "14351:573:1" - } - ] - } - } - ] - }, - "documentation": { - "id": 936, - "nodeType": "StructuredDocumentation", - "src": "13605:541:1", - "text": " @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value" - }, - "id": 997, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOnERC721Received", - "nameLocation": "14160:22:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 938, - "mutability": "mutable", - "name": "from", - "nameLocation": "14200:4:1", - "nodeType": "VariableDeclaration", - "scope": 997, - "src": "14192:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 937, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14192:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 940, - "mutability": "mutable", - "name": "to", - "nameLocation": "14222:2:1", - "nodeType": "VariableDeclaration", - "scope": 997, - "src": "14214:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 939, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14214:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 942, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "14242:7:1", - "nodeType": "VariableDeclaration", - "scope": 997, - "src": "14234:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14234:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 944, - "mutability": "mutable", - "name": "data", - "nameLocation": "14272:4:1", - "nodeType": "VariableDeclaration", - "scope": 997, - "src": "14259:17:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 943, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "14259:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "14182:100:1" - }, - "returnParameters": { - "id": 948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 947, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 997, - "src": "14300:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 946, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14300:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "14299:6:1" - }, - "scope": 1057, - "src": "14151:831:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 1042, - "nodeType": "Block", - "src": "15856:238:1", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1009, - "name": "batchSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1006, - "src": "15870:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "31", - "id": 1010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15882:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15870:13:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1041, - "nodeType": "IfStatement", - "src": "15866:222:1", - "trueBody": { - "id": 1040, - "nodeType": "Block", - "src": "15885:203:1", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1012, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1000, - "src": "15903:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15919:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15911:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1013, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15911:7:1", - "typeDescriptions": {} - } - }, - "id": 1016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15911:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15903:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1025, - "nodeType": "IfStatement", - "src": "15899:85:1", - "trueBody": { - "id": 1024, - "nodeType": "Block", - "src": "15923:61:1", - "statements": [ - { - "expression": { - "id": 1022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1018, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "15941:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1020, - "indexExpression": { - "id": 1019, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1000, - "src": "15951:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15941:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 1021, - "name": "batchSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1006, - "src": "15960:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15941:28:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1023, - "nodeType": "ExpressionStatement", - "src": "15941:28:1" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1026, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "16001:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 1029, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16015:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16007:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1027, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16007:7:1", - "typeDescriptions": {} - } - }, - "id": 1030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16007:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16001:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1039, - "nodeType": "IfStatement", - "src": "15997:81:1", - "trueBody": { - "id": 1038, - "nodeType": "Block", - "src": "16019:59:1", - "statements": [ - { - "expression": { - "id": 1036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1032, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 148, - "src": "16037:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1034, - "indexExpression": { - "id": 1033, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1002, - "src": "16047:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16037:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 1035, - "name": "batchSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1006, - "src": "16054:9:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16037:26:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1037, - "nodeType": "ExpressionStatement", - "src": "16037:26:1" - } - ] - } - } - ] - } - } - ] - }, - "documentation": { - "id": 998, - "nodeType": "StructuredDocumentation", - "src": "14988:705:1", - "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": 1043, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "15707:20:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1007, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1000, - "mutability": "mutable", - "name": "from", - "nameLocation": "15745:4:1", - "nodeType": "VariableDeclaration", - "scope": 1043, - "src": "15737:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15737:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1002, - "mutability": "mutable", - "name": "to", - "nameLocation": "15767:2:1", - "nodeType": "VariableDeclaration", - "scope": 1043, - "src": "15759:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1001, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15759:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1004, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1043, - "src": "15779:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1003, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15779:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1006, - "mutability": "mutable", - "name": "batchSize", - "nameLocation": "15823:9:1", - "nodeType": "VariableDeclaration", - "scope": 1043, - "src": "15815:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1005, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15815:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15727:111:1" - }, - "returnParameters": { - "id": 1008, - "nodeType": "ParameterList", - "parameters": [], - "src": "15856:0:1" - }, - "scope": 1057, - "src": "15698:396:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1055, - "nodeType": "Block", - "src": "16951:2:1", - "statements": [] - }, - "documentation": { - "id": 1044, - "nodeType": "StructuredDocumentation", - "src": "16100:695:1", - "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": 1056, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterTokenTransfer", - "nameLocation": "16809:19:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1046, - "mutability": "mutable", - "name": "from", - "nameLocation": "16846:4:1", - "nodeType": "VariableDeclaration", - "scope": 1056, - "src": "16838:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1045, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16838:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1048, - "mutability": "mutable", - "name": "to", - "nameLocation": "16868:2:1", - "nodeType": "VariableDeclaration", - "scope": 1056, - "src": "16860:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16860:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1050, - "mutability": "mutable", - "name": "firstTokenId", - "nameLocation": "16888:12:1", - "nodeType": "VariableDeclaration", - "scope": 1056, - "src": "16880:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16880:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1052, - "mutability": "mutable", - "name": "batchSize", - "nameLocation": "16918:9:1", - "nodeType": "VariableDeclaration", - "scope": 1056, - "src": "16910:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16910:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16828:105:1" - }, - "returnParameters": { - "id": 1054, - "nodeType": "ParameterList", - "parameters": [], - "src": "16951:0:1" - }, - "scope": 1057, - "src": "16800:153:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 1058, - "src": "628:16327:1", - "usedErrors": [] - } - ], - "src": "107:16849:1" - }, - "id": 1 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol", - "exportedSymbols": { - "IERC165": [ - 2395 - ], - "IERC721": [ - 1173 - ] - }, - "id": 1174, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1059, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "108:23:2" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol", - "file": "../../utils/introspection/IERC165.sol", - "id": 1060, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1174, - "sourceUnit": 2396, - "src": "133:47:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1062, - "name": "IERC165", - "nameLocations": [ - "271:7:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2395, - "src": "271:7:2" - }, - "id": 1063, - "nodeType": "InheritanceSpecifier", - "src": "271:7:2" - } - ], - "canonicalName": "IERC721", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1061, - "nodeType": "StructuredDocumentation", - "src": "182:67:2", - "text": " @dev Required interface of an ERC721 compliant contract." - }, - "fullyImplemented": false, - "id": 1173, - "linearizedBaseContracts": [ - 1173, - 2395 - ], - "name": "IERC721", - "nameLocation": "260:7:2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": { - "id": 1064, - "nodeType": "StructuredDocumentation", - "src": "285:88:2", - "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." - }, - "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "id": 1072, - "name": "Transfer", - "nameLocation": "384:8:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 1071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1066, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "409:4:2", - "nodeType": "VariableDeclaration", - "scope": 1072, - "src": "393:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "393:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1068, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "431:2:2", - "nodeType": "VariableDeclaration", - "scope": 1072, - "src": "415:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "415:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1070, - "indexed": true, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "451:7:2", - "nodeType": "VariableDeclaration", - "scope": 1072, - "src": "435:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "435:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "392:67:2" - }, - "src": "378:82:2" - }, - { - "anonymous": false, - "documentation": { - "id": 1073, - "nodeType": "StructuredDocumentation", - "src": "466:94:2", - "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." - }, - "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "id": 1081, - "name": "Approval", - "nameLocation": "571:8:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 1080, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1075, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "596:5:2", - "nodeType": "VariableDeclaration", - "scope": 1081, - "src": "580:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1074, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "580:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1077, - "indexed": true, - "mutability": "mutable", - "name": "approved", - "nameLocation": "619:8:2", - "nodeType": "VariableDeclaration", - "scope": 1081, - "src": "603:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "603:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1079, - "indexed": true, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "645:7:2", - "nodeType": "VariableDeclaration", - "scope": 1081, - "src": "629:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "629:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "579:74:2" - }, - "src": "565:89:2" - }, - { - "anonymous": false, - "documentation": { - "id": 1082, - "nodeType": "StructuredDocumentation", - "src": "660:117:2", - "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." - }, - "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", - "id": 1090, - "name": "ApprovalForAll", - "nameLocation": "788:14:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 1089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1084, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "819:5:2", - "nodeType": "VariableDeclaration", - "scope": 1090, - "src": "803:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1083, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "803:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1086, - "indexed": true, - "mutability": "mutable", - "name": "operator", - "nameLocation": "842:8:2", - "nodeType": "VariableDeclaration", - "scope": 1090, - "src": "826:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "826:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1088, - "indexed": false, - "mutability": "mutable", - "name": "approved", - "nameLocation": "857:8:2", - "nodeType": "VariableDeclaration", - "scope": 1090, - "src": "852:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1087, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "852:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "802:64:2" - }, - "src": "782:85:2" - }, - { - "documentation": { - "id": 1091, - "nodeType": "StructuredDocumentation", - "src": "873:76:2", - "text": " @dev Returns the number of tokens in ``owner``'s account." - }, - "functionSelector": "70a08231", - "id": 1098, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "963:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1093, - "mutability": "mutable", - "name": "owner", - "nameLocation": "981:5:2", - "nodeType": "VariableDeclaration", - "scope": 1098, - "src": "973:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1092, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "973:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "972:15:2" - }, - "returnParameters": { - "id": 1097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1096, - "mutability": "mutable", - "name": "balance", - "nameLocation": "1019:7:2", - "nodeType": "VariableDeclaration", - "scope": 1098, - "src": "1011:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1011:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1010:17:2" - }, - "scope": 1173, - "src": "954:74:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1099, - "nodeType": "StructuredDocumentation", - "src": "1034:131:2", - "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." - }, - "functionSelector": "6352211e", - "id": 1106, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nameLocation": "1179:7:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1102, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1101, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1195:7:2", - "nodeType": "VariableDeclaration", - "scope": 1106, - "src": "1187:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1187:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1186:17:2" - }, - "returnParameters": { - "id": 1105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1104, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1235:5:2", - "nodeType": "VariableDeclaration", - "scope": 1106, - "src": "1227:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1227:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1226:15:2" - }, - "scope": 1173, - "src": "1170:72:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1107, - "nodeType": "StructuredDocumentation", - "src": "1248:556:2", - "text": " @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." - }, - "functionSelector": "b88d4fde", - "id": 1118, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "1818:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1109, - "mutability": "mutable", - "name": "from", - "nameLocation": "1852:4:2", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "1844:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1108, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1844:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1111, - "mutability": "mutable", - "name": "to", - "nameLocation": "1874:2:2", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "1866:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1110, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1866:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1113, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1894:7:2", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "1886:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1886:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1115, - "mutability": "mutable", - "name": "data", - "nameLocation": "1926:4:2", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "1911:19:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1114, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1911:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1834:102:2" - }, - "returnParameters": { - "id": 1117, - "nodeType": "ParameterList", - "parameters": [], - "src": "1945:0:2" - }, - "scope": 1173, - "src": "1809:137:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1119, - "nodeType": "StructuredDocumentation", - "src": "1952:687:2", - "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must 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": 1128, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nameLocation": "2653:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1126, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1121, - "mutability": "mutable", - "name": "from", - "nameLocation": "2687:4:2", - "nodeType": "VariableDeclaration", - "scope": 1128, - "src": "2679:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1120, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2679:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1123, - "mutability": "mutable", - "name": "to", - "nameLocation": "2709:2:2", - "nodeType": "VariableDeclaration", - "scope": 1128, - "src": "2701:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1122, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2701:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1125, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2729:7:2", - "nodeType": "VariableDeclaration", - "scope": 1128, - "src": "2721:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1124, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2721:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2669:73:2" - }, - "returnParameters": { - "id": 1127, - "nodeType": "ParameterList", - "parameters": [], - "src": "2751:0:2" - }, - "scope": 1173, - "src": "2644:108:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1129, - "nodeType": "StructuredDocumentation", - "src": "2758:732:2", - "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": 1138, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "3504:12:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1131, - "mutability": "mutable", - "name": "from", - "nameLocation": "3534:4:2", - "nodeType": "VariableDeclaration", - "scope": 1138, - "src": "3526:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1130, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3526:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1133, - "mutability": "mutable", - "name": "to", - "nameLocation": "3556:2:2", - "nodeType": "VariableDeclaration", - "scope": 1138, - "src": "3548:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3548:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1135, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3576:7:2", - "nodeType": "VariableDeclaration", - "scope": 1138, - "src": "3568:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3568:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3516:73:2" - }, - "returnParameters": { - "id": 1137, - "nodeType": "ParameterList", - "parameters": [], - "src": "3598:0:2" - }, - "scope": 1173, - "src": "3495:104:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1139, - "nodeType": "StructuredDocumentation", - "src": "3605:452:2", - "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event." - }, - "functionSelector": "095ea7b3", - "id": 1146, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "4071:7:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1144, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1141, - "mutability": "mutable", - "name": "to", - "nameLocation": "4087:2:2", - "nodeType": "VariableDeclaration", - "scope": 1146, - "src": "4079:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4079:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1143, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4099:7:2", - "nodeType": "VariableDeclaration", - "scope": 1146, - "src": "4091:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4091:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4078:29:2" - }, - "returnParameters": { - "id": 1145, - "nodeType": "ParameterList", - "parameters": [], - "src": "4116:0:2" - }, - "scope": 1173, - "src": "4062:55:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1147, - "nodeType": "StructuredDocumentation", - "src": "4123:309:2", - "text": " @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event." - }, - "functionSelector": "a22cb465", - "id": 1154, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nameLocation": "4446:17:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1149, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4472:8:2", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "4464:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1148, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4464:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1151, - "mutability": "mutable", - "name": "_approved", - "nameLocation": "4487:9:2", - "nodeType": "VariableDeclaration", - "scope": 1154, - "src": "4482:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1150, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4482:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4463:34:2" - }, - "returnParameters": { - "id": 1153, - "nodeType": "ParameterList", - "parameters": [], - "src": "4506:0:2" - }, - "scope": 1173, - "src": "4437:70:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1155, - "nodeType": "StructuredDocumentation", - "src": "4513:139:2", - "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." - }, - "functionSelector": "081812fc", - "id": 1162, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nameLocation": "4666:11:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1158, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1157, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4686:7:2", - "nodeType": "VariableDeclaration", - "scope": 1162, - "src": "4678:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4678:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4677:17:2" - }, - "returnParameters": { - "id": 1161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1160, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4726:8:2", - "nodeType": "VariableDeclaration", - "scope": 1162, - "src": "4718:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1159, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4718:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4717:18:2" - }, - "scope": 1173, - "src": "4657:79:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1163, - "nodeType": "StructuredDocumentation", - "src": "4742:138:2", - "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" - }, - "functionSelector": "e985e9c5", - "id": 1172, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nameLocation": "4894:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1168, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1165, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4919:5:2", - "nodeType": "VariableDeclaration", - "scope": 1172, - "src": "4911:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1164, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4911:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1167, - "mutability": "mutable", - "name": "operator", - "nameLocation": "4934:8:2", - "nodeType": "VariableDeclaration", - "scope": 1172, - "src": "4926:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4926:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4910:33:2" - }, - "returnParameters": { - "id": 1171, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1170, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1172, - "src": "4967:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1169, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4967:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4966:6:2" - }, - "scope": 1173, - "src": "4885:88:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1174, - "src": "250:4725:2", - "usedErrors": [] - } - ], - "src": "108:4868:2" - }, - "id": 2 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "exportedSymbols": { - "IERC721Receiver": [ - 1191 - ] - }, - "id": 1192, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1175, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "116:23:3" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC721Receiver", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1176, - "nodeType": "StructuredDocumentation", - "src": "141:152:3", - "text": " @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts." - }, - "fullyImplemented": false, - "id": 1191, - "linearizedBaseContracts": [ - 1191 - ], - "name": "IERC721Receiver", - "nameLocation": "304:15:3", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1177, - "nodeType": "StructuredDocumentation", - "src": "326:493:3", - "text": " @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`." - }, - "functionSelector": "150b7a02", - "id": 1190, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nameLocation": "833:16:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1179, - "mutability": "mutable", - "name": "operator", - "nameLocation": "867:8:3", - "nodeType": "VariableDeclaration", - "scope": 1190, - "src": "859:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "859:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1181, - "mutability": "mutable", - "name": "from", - "nameLocation": "893:4:3", - "nodeType": "VariableDeclaration", - "scope": 1190, - "src": "885:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "885:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1183, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "915:7:3", - "nodeType": "VariableDeclaration", - "scope": 1190, - "src": "907:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "907:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1185, - "mutability": "mutable", - "name": "data", - "nameLocation": "947:4:3", - "nodeType": "VariableDeclaration", - "scope": 1190, - "src": "932:19:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1184, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "932:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "849:108:3" - }, - "returnParameters": { - "id": 1189, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1188, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1190, - "src": "976:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1187, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "976:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "975:8:3" - }, - "scope": 1191, - "src": "824:160:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1192, - "src": "294:692:3", - "usedErrors": [] - } - ], - "src": "116:871:3" - }, - "id": 3 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol", - "exportedSymbols": { - "Address": [ - 2088 - ], - "Context": [ - 2110 - ], - "ERC165": [ - 2383 - ], - "ERC721": [ - 1057 - ], - "ERC721Burnable": [ - 1221 - ], - "IERC165": [ - 2395 - ], - "IERC721": [ - 1173 - ], - "IERC721Metadata": [ - 1758 - ], - "IERC721Receiver": [ - 1191 - ], - "Math": [ - 3260 - ], - "Strings": [ - 2359 - ] - }, - "id": 1222, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1193, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "126:23:4" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "../ERC721.sol", - "id": 1194, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1222, - "sourceUnit": 1058, - "src": "151:23:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol", - "file": "../../../utils/Context.sol", - "id": 1195, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1222, - "sourceUnit": 2111, - "src": "175:36:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1197, - "name": "Context", - "nameLocations": [ - "342:7:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2110, - "src": "342:7:4" - }, - "id": 1198, - "nodeType": "InheritanceSpecifier", - "src": "342:7:4" - }, - { - "baseName": { - "id": 1199, - "name": "ERC721", - "nameLocations": [ - "351:6:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "351:6:4" - }, - "id": 1200, - "nodeType": "InheritanceSpecifier", - "src": "351:6:4" - } - ], - "canonicalName": "ERC721Burnable", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1196, - "nodeType": "StructuredDocumentation", - "src": "213:92:4", - "text": " @title ERC721 Burnable Token\n @dev ERC721 Token that can be burned (destroyed)." - }, - "fullyImplemented": false, - "id": 1221, - "linearizedBaseContracts": [ - 1221, - 1057, - 1758, - 1173, - 2383, - 2395, - 2110 - ], - "name": "ERC721Burnable", - "nameLocation": "324:14:4", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1219, - "nodeType": "Block", - "src": "577:192:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1208, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "666:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 1209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "666:12:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1210, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "680:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1207, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "647:18:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "647:41:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564", - "id": 1212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "690:47:4", - "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": 1206, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "639:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "639:99:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1214, - "nodeType": "ExpressionStatement", - "src": "639:99:4" - }, - { - "expression": { - "arguments": [ - { - "id": 1216, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "754:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1215, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 780, - "src": "748:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "748:14:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1218, - "nodeType": "ExpressionStatement", - "src": "748:14:4" - } - ] - }, - "documentation": { - "id": 1201, - "nodeType": "StructuredDocumentation", - "src": "364:162:4", - "text": " @dev Burns `tokenId`. See {ERC721-_burn}.\n Requirements:\n - The caller must own `tokenId` or be an approved operator." - }, - "functionSelector": "42966c68", - "id": 1220, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "burn", - "nameLocation": "540:4:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1203, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "553:7:4", - "nodeType": "VariableDeclaration", - "scope": 1220, - "src": "545:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "545:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "544:17:4" - }, - "returnParameters": { - "id": 1205, - "nodeType": "ParameterList", - "parameters": [], - "src": "577:0:4" - }, - "scope": 1221, - "src": "531:238:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 1222, - "src": "306:465:4", - "usedErrors": [] - } - ], - "src": "126:646:4" - }, - "id": 4 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", - "exportedSymbols": { - "Address": [ - 2088 - ], - "Context": [ - 2110 - ], - "ERC165": [ - 2383 - ], - "ERC721": [ - 1057 - ], - "ERC721Enumerable": [ - 1575 - ], - "IERC165": [ - 2395 - ], - "IERC721": [ - 1173 - ], - "IERC721Enumerable": [ - 1731 - ], - "IERC721Metadata": [ - 1758 - ], - "IERC721Receiver": [ - 1191 - ], - "Math": [ - 3260 - ], - "Strings": [ - 2359 - ] - }, - "id": 1576, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1223, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "128:23:5" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "../ERC721.sol", - "id": 1224, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1576, - "sourceUnit": 1058, - "src": "153:23:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol", - "file": "./IERC721Enumerable.sol", - "id": 1225, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1576, - "sourceUnit": 1732, - "src": "177:33:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1227, - "name": "ERC721", - "nameLocations": [ - "450:6:5" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "450:6:5" - }, - "id": 1228, - "nodeType": "InheritanceSpecifier", - "src": "450:6:5" - }, - { - "baseName": { - "id": 1229, - "name": "IERC721Enumerable", - "nameLocations": [ - "458:17:5" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1731, - "src": "458:17:5" - }, - "id": 1230, - "nodeType": "InheritanceSpecifier", - "src": "458:17:5" - } - ], - "canonicalName": "ERC721Enumerable", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1226, - "nodeType": "StructuredDocumentation", - "src": "212:199:5", - "text": " @dev This implements an optional extension of {ERC721} defined in the EIP that adds\n enumerability of all the token ids in the contract as well as all token ids owned by each\n account." - }, - "fullyImplemented": false, - "id": 1575, - "linearizedBaseContracts": [ - 1575, - 1731, - 1057, - 1758, - 1173, - 2383, - 2395, - 2110 - ], - "name": "ERC721Enumerable", - "nameLocation": "430:16:5", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 1236, - "mutability": "mutable", - "name": "_ownedTokens", - "nameLocation": "591:12:5", - "nodeType": "VariableDeclaration", - "scope": 1575, - "src": "535:68:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 1235, - "keyType": { - "id": 1231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "543:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "535:47:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 1234, - "keyType": { - "id": 1232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "562:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "554:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 1233, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "573:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 1240, - "mutability": "mutable", - "name": "_ownedTokensIndex", - "nameLocation": "709:17:5", - "nodeType": "VariableDeclaration", - "scope": 1575, - "src": "673:53:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 1239, - "keyType": { - "id": 1237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "681:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "673:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 1238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "692:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 1243, - "mutability": "mutable", - "name": "_allTokens", - "nameLocation": "805:10:5", - "nodeType": "VariableDeclaration", - "scope": 1575, - "src": "787:28:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "787:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1242, - "nodeType": "ArrayTypeName", - "src": "787:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 1247, - "mutability": "mutable", - "name": "_allTokensIndex", - "nameLocation": "922:15:5", - "nodeType": "VariableDeclaration", - "scope": 1575, - "src": "886:51:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 1246, - "keyType": { - "id": 1244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "894:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "886:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 1245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "905:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "baseFunctions": [ - 206, - 2394 - ], - "body": { - "id": 1270, - "nodeType": "Block", - "src": "1113:114:5", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 1263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1258, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1250, - "src": "1130:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 1260, - "name": "IERC721Enumerable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1731, - "src": "1150:17:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Enumerable_$1731_$", - "typeString": "type(contract IERC721Enumerable)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC721Enumerable_$1731_$", - "typeString": "type(contract IERC721Enumerable)" - } - ], - "id": 1259, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "1145:4:5", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1145:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Enumerable_$1731", - "typeString": "type(contract IERC721Enumerable)" - } - }, - "id": 1262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1169:11:5", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "1145:35:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "1130:50:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 1266, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1250, - "src": "1208:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 1264, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1184:5:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721Enumerable_$1575_$", - "typeString": "type(contract super ERC721Enumerable)" - } - }, - "id": 1265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1190:17:5", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 206, - "src": "1184:23:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 1267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1184:36:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1130:90:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1257, - "id": 1269, - "nodeType": "Return", - "src": "1123:97:5" - } - ] - }, - "documentation": { - "id": 1248, - "nodeType": "StructuredDocumentation", - "src": "944:56:5", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 1271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "1014:17:5", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1254, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 1252, - "name": "IERC165", - "nameLocations": [ - "1081:7:5" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2395, - "src": "1081:7:5" - }, - { - "id": 1253, - "name": "ERC721", - "nameLocations": [ - "1090:6:5" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "1090:6:5" - } - ], - "src": "1072:25:5" - }, - "parameters": { - "id": 1251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1250, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "1039:11:5", - "nodeType": "VariableDeclaration", - "scope": 1271, - "src": "1032:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1249, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1032:6:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1031:20:5" - }, - "returnParameters": { - "id": 1257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1256, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1271, - "src": "1107:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1255, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1107:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1106:6:5" - }, - "scope": 1575, - "src": "1005:222:5", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1722 - ], - "body": { - "id": 1298, - "nodeType": "Block", - "src": "1412:147:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1283, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "1430:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "arguments": [ - { - "id": 1286, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "1455:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 1284, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "1438:6:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$1057_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 1285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1445:9:5", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 230, - "src": "1438:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 1287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1438:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1430:31:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e6473", - "id": 1289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1463:45:5", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", - "typeString": "literal_string \"ERC721Enumerable: owner index out of bounds\"" - }, - "value": "ERC721Enumerable: owner index out of bounds" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", - "typeString": "literal_string \"ERC721Enumerable: owner index out of bounds\"" - } - ], - "id": 1282, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1422:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1422:87:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1291, - "nodeType": "ExpressionStatement", - "src": "1422:87:5" - }, - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 1292, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1236, - "src": "1526:12:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 1294, - "indexExpression": { - "id": 1293, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "1539:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1526:19:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1296, - "indexExpression": { - "id": 1295, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "1546:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1526:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1281, - "id": 1297, - "nodeType": "Return", - "src": "1519:33:5" - } - ] - }, - "documentation": { - "id": 1272, - "nodeType": "StructuredDocumentation", - "src": "1233:68:5", - "text": " @dev See {IERC721Enumerable-tokenOfOwnerByIndex}." - }, - "functionSelector": "2f745c59", - "id": 1299, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nameLocation": "1315:19:5", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1278, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1385:8:5" - }, - "parameters": { - "id": 1277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1274, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1343:5:5", - "nodeType": "VariableDeclaration", - "scope": 1299, - "src": "1335:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1273, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1335:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1276, - "mutability": "mutable", - "name": "index", - "nameLocation": "1358:5:5", - "nodeType": "VariableDeclaration", - "scope": 1299, - "src": "1350:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1350:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1334:30:5" - }, - "returnParameters": { - "id": 1281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1280, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1299, - "src": "1403:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1403:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1402:9:5" - }, - "scope": 1575, - "src": "1306:253:5", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1712 - ], - "body": { - "id": 1309, - "nodeType": "Block", - "src": "1700:41:5", - "statements": [ - { - "expression": { - "expression": { - "id": 1306, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "1717:10:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1728:6:5", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1717:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1305, - "id": 1308, - "nodeType": "Return", - "src": "1710:24:5" - } - ] - }, - "documentation": { - "id": 1300, - "nodeType": "StructuredDocumentation", - "src": "1565:60:5", - "text": " @dev See {IERC721Enumerable-totalSupply}." - }, - "functionSelector": "18160ddd", - "id": 1310, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "1639:11:5", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1302, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1673:8:5" - }, - "parameters": { - "id": 1301, - "nodeType": "ParameterList", - "parameters": [], - "src": "1650:2:5" - }, - "returnParameters": { - "id": 1305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1304, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1310, - "src": "1691:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1303, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1691:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1690:9:5" - }, - "scope": 1575, - "src": "1630:111:5", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1730 - ], - "body": { - "id": 1332, - "nodeType": "Block", - "src": "1897:146:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1320, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "1915:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1321, - "name": "ERC721Enumerable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1575, - "src": "1923:16:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Enumerable_$1575_$", - "typeString": "type(contract ERC721Enumerable)" - } - }, - "id": 1322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1940:11:5", - "memberName": "totalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 1310, - "src": "1923:28:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 1323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1923:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1915:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473", - "id": 1325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1955:46:5", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", - "typeString": "literal_string \"ERC721Enumerable: global index out of bounds\"" - }, - "value": "ERC721Enumerable: global index out of bounds" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", - "typeString": "literal_string \"ERC721Enumerable: global index out of bounds\"" - } - ], - "id": 1319, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1907:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1907:95:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1327, - "nodeType": "ExpressionStatement", - "src": "1907:95:5" - }, - { - "expression": { - "baseExpression": { - "id": 1328, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "2019:10:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1330, - "indexExpression": { - "id": 1329, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1313, - "src": "2030:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2019:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1318, - "id": 1331, - "nodeType": "Return", - "src": "2012:24:5" - } - ] - }, - "documentation": { - "id": 1311, - "nodeType": "StructuredDocumentation", - "src": "1747:61:5", - "text": " @dev See {IERC721Enumerable-tokenByIndex}." - }, - "functionSelector": "4f6ccce7", - "id": 1333, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nameLocation": "1822:12:5", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1315, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1870:8:5" - }, - "parameters": { - "id": 1314, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1313, - "mutability": "mutable", - "name": "index", - "nameLocation": "1843:5:5", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "1835:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1312, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1835:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1834:15:5" - }, - "returnParameters": { - "id": 1318, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1317, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "1888:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1888:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1887:9:5" - }, - "scope": 1575, - "src": "1813:230:5", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1043 - ], - "body": { - "id": 1412, - "nodeType": "Block", - "src": "2273:729:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1349, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1336, - "src": "2310:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1350, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "2316:2:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1351, - "name": "firstTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "2320:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1352, - "name": "batchSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "2334:9:5", - "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": 1346, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "2283:5:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721Enumerable_$1575_$", - "typeString": "type(contract super ERC721Enumerable)" - } - }, - "id": 1348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2289:20:5", - "memberName": "_beforeTokenTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1043, - "src": "2283:26:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2283:61:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1354, - "nodeType": "ExpressionStatement", - "src": "2283:61:5" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1355, - "name": "batchSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1342, - "src": "2359:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "31", - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2371:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2359:13:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1363, - "nodeType": "IfStatement", - "src": "2355:219:5", - "trueBody": { - "id": 1362, - "nodeType": "Block", - "src": "2374:200:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "455243373231456e756d657261626c653a20636f6e7365637574697665207472616e7366657273206e6f7420737570706f72746564", - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2507:55:5", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", - "typeString": "literal_string \"ERC721Enumerable: consecutive transfers not supported\"" - }, - "value": "ERC721Enumerable: consecutive transfers not supported" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", - "typeString": "literal_string \"ERC721Enumerable: consecutive transfers not supported\"" - } - ], - "id": 1358, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "2500:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 1360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2500:63:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1361, - "nodeType": "ExpressionStatement", - "src": "2500:63:5" - } - ] - } - }, - { - "assignments": [ - 1365 - ], - "declarations": [ - { - "constant": false, - "id": 1365, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2592:7:5", - "nodeType": "VariableDeclaration", - "scope": 1412, - "src": "2584:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2584:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1367, - "initialValue": { - "id": 1366, - "name": "firstTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1340, - "src": "2602:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2584:30:5" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1368, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1336, - "src": "2629:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2645:1:5", - "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": 1370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2637:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1369, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2637:7:5", - "typeDescriptions": {} - } - }, - "id": 1372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2637:10:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2629:18:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1379, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1336, - "src": "2724:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1380, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "2732:2:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2724:10:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1388, - "nodeType": "IfStatement", - "src": "2720:88:5", - "trueBody": { - "id": 1387, - "nodeType": "Block", - "src": "2736:72:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1383, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1336, - "src": "2783:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1384, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "2789:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1382, - "name": "_removeTokenFromOwnerEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1526, - "src": "2750:32:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2750:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1386, - "nodeType": "ExpressionStatement", - "src": "2750:47:5" - } - ] - } - }, - "id": 1389, - "nodeType": "IfStatement", - "src": "2625:183:5", - "trueBody": { - "id": 1378, - "nodeType": "Block", - "src": "2649:65:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1375, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "2695:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1374, - "name": "_addTokenToAllTokensEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1463, - "src": "2663:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2663:40:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1377, - "nodeType": "ExpressionStatement", - "src": "2663:40:5" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1390, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "2821:2:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 1393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2835:1:5", - "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": 1392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2827:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2827:7:5", - "typeDescriptions": {} - } - }, - "id": 1394, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2827:10:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2821:16:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1401, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "2919:2:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1402, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1336, - "src": "2925:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2919:10:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1410, - "nodeType": "IfStatement", - "src": "2915:81:5", - "trueBody": { - "id": 1409, - "nodeType": "Block", - "src": "2931:65:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1405, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1338, - "src": "2973:2:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1406, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "2977:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1404, - "name": "_addTokenToOwnerEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1443, - "src": "2945:27:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2945:40:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1408, - "nodeType": "ExpressionStatement", - "src": "2945:40:5" - } - ] - } - }, - "id": 1411, - "nodeType": "IfStatement", - "src": "2817:179:5", - "trueBody": { - "id": 1400, - "nodeType": "Block", - "src": "2839:70:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1397, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "2890:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1396, - "name": "_removeTokenFromAllTokensEnumeration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1574, - "src": "2853:36:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2853:45:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1399, - "nodeType": "ExpressionStatement", - "src": "2853:45:5" - } - ] - } - } - ] - }, - "documentation": { - "id": 1334, - "nodeType": "StructuredDocumentation", - "src": "2049:58:5", - "text": " @dev See {ERC721-_beforeTokenTransfer}." - }, - "id": 1413, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "2121:20:5", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1344, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2264:8:5" - }, - "parameters": { - "id": 1343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1336, - "mutability": "mutable", - "name": "from", - "nameLocation": "2159:4:5", - "nodeType": "VariableDeclaration", - "scope": 1413, - "src": "2151:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2151:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1338, - "mutability": "mutable", - "name": "to", - "nameLocation": "2181:2:5", - "nodeType": "VariableDeclaration", - "scope": 1413, - "src": "2173:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2173:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1340, - "mutability": "mutable", - "name": "firstTokenId", - "nameLocation": "2201:12:5", - "nodeType": "VariableDeclaration", - "scope": 1413, - "src": "2193:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2193:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1342, - "mutability": "mutable", - "name": "batchSize", - "nameLocation": "2231:9:5", - "nodeType": "VariableDeclaration", - "scope": 1413, - "src": "2223:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2223:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2141:105:5" - }, - "returnParameters": { - "id": 1345, - "nodeType": "ParameterList", - "parameters": [], - "src": "2273:0:5" - }, - "scope": 1575, - "src": "2112:890:5", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1442, - "nodeType": "Block", - "src": "3370:143:5", - "statements": [ - { - "assignments": [ - 1422 - ], - "declarations": [ - { - "constant": false, - "id": 1422, - "mutability": "mutable", - "name": "length", - "nameLocation": "3388:6:5", - "nodeType": "VariableDeclaration", - "scope": 1442, - "src": "3380:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3380:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1427, - "initialValue": { - "arguments": [ - { - "id": 1425, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1416, - "src": "3414:2:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 1423, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "3397:6:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$1057_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 1424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3404:9:5", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 230, - "src": "3397:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 1426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3397:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3380:37:5" - }, - { - "expression": { - "id": 1434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 1428, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1236, - "src": "3427:12:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 1431, - "indexExpression": { - "id": 1429, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1416, - "src": "3440:2:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3427:16:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1432, - "indexExpression": { - "id": 1430, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1422, - "src": "3444:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3427:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1433, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1418, - "src": "3454:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3427:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1435, - "nodeType": "ExpressionStatement", - "src": "3427:34:5" - }, - { - "expression": { - "id": 1440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1436, - "name": "_ownedTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "3471:17:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1438, - "indexExpression": { - "id": 1437, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1418, - "src": "3489:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3471:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1439, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1422, - "src": "3500:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3471:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1441, - "nodeType": "ExpressionStatement", - "src": "3471:35:5" - } - ] - }, - "documentation": { - "id": 1414, - "nodeType": "StructuredDocumentation", - "src": "3008:283:5", - "text": " @dev Private function to add a token to this extension's ownership-tracking data structures.\n @param to address representing the new owner of the given token ID\n @param tokenId uint256 ID of the token to be added to the tokens list of the given address" - }, - "id": 1443, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addTokenToOwnerEnumeration", - "nameLocation": "3305:27:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1416, - "mutability": "mutable", - "name": "to", - "nameLocation": "3341:2:5", - "nodeType": "VariableDeclaration", - "scope": 1443, - "src": "3333:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1415, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3333:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1418, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3353:7:5", - "nodeType": "VariableDeclaration", - "scope": 1443, - "src": "3345:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1417, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3345:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3332:29:5" - }, - "returnParameters": { - "id": 1420, - "nodeType": "ParameterList", - "parameters": [], - "src": "3370:0:5" - }, - "scope": 1575, - "src": "3296:217:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 1462, - "nodeType": "Block", - "src": "3774:95:5", - "statements": [ - { - "expression": { - "id": 1454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1449, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "3784:15:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1451, - "indexExpression": { - "id": 1450, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1446, - "src": "3800:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3784:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 1452, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "3811:10:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3822:6:5", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3811:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3784:44:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1455, - "nodeType": "ExpressionStatement", - "src": "3784:44:5" - }, - { - "expression": { - "arguments": [ - { - "id": 1459, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1446, - "src": "3854:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1456, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "3838:10:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3849:4:5", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "3838:15:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer,uint256)" - } - }, - "id": 1460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3838:24:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1461, - "nodeType": "ExpressionStatement", - "src": "3838:24:5" - } - ] - }, - "documentation": { - "id": 1444, - "nodeType": "StructuredDocumentation", - "src": "3519:184:5", - "text": " @dev Private function to add a token to this extension's token tracking data structures.\n @param tokenId uint256 ID of the token to be added to the tokens list" - }, - "id": 1463, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addTokenToAllTokensEnumeration", - "nameLocation": "3717:31:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1447, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1446, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3757:7:5", - "nodeType": "VariableDeclaration", - "scope": 1463, - "src": "3749:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1445, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3749:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3748:17:5" - }, - "returnParameters": { - "id": 1448, - "nodeType": "ParameterList", - "parameters": [], - "src": "3774:0:5" - }, - "scope": 1575, - "src": "3708:161:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 1525, - "nodeType": "Block", - "src": "4567:889:5", - "statements": [ - { - "assignments": [ - 1472 - ], - "declarations": [ - { - "constant": false, - "id": 1472, - "mutability": "mutable", - "name": "lastTokenIndex", - "nameLocation": "4756:14:5", - "nodeType": "VariableDeclaration", - "scope": 1525, - "src": "4748:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4748:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1479, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1475, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1466, - "src": "4790:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 1473, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "4773:6:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$1057_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 1474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4780:9:5", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 230, - "src": "4773:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4773:22:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4798:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4773:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4748:51:5" - }, - { - "assignments": [ - 1481 - ], - "declarations": [ - { - "constant": false, - "id": 1481, - "mutability": "mutable", - "name": "tokenIndex", - "nameLocation": "4817:10:5", - "nodeType": "VariableDeclaration", - "scope": 1525, - "src": "4809:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1480, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4809:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1485, - "initialValue": { - "baseExpression": { - "id": 1482, - "name": "_ownedTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4830:17:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1484, - "indexExpression": { - "id": 1483, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1468, - "src": "4848:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4830:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4809:47:5" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1486, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "4960:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1487, - "name": "lastTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "4974:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4960:28:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1512, - "nodeType": "IfStatement", - "src": "4956:323:5", - "trueBody": { - "id": 1511, - "nodeType": "Block", - "src": "4990:289:5", - "statements": [ - { - "assignments": [ - 1490 - ], - "declarations": [ - { - "constant": false, - "id": 1490, - "mutability": "mutable", - "name": "lastTokenId", - "nameLocation": "5012:11:5", - "nodeType": "VariableDeclaration", - "scope": 1511, - "src": "5004:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1489, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5004:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1496, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 1491, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1236, - "src": "5026:12:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 1493, - "indexExpression": { - "id": 1492, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1466, - "src": "5039:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5026:18:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1495, - "indexExpression": { - "id": 1494, - "name": "lastTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "5045:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5026:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5004:56:5" - }, - { - "expression": { - "id": 1503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 1497, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1236, - "src": "5075:12:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 1500, - "indexExpression": { - "id": 1498, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1466, - "src": "5088:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5075:18:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1501, - "indexExpression": { - "id": 1499, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "5094:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5075:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1502, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1490, - "src": "5108:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5075:44:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1504, - "nodeType": "ExpressionStatement", - "src": "5075:44:5" - }, - { - "expression": { - "id": 1509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1505, - "name": "_ownedTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "5191:17:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1507, - "indexExpression": { - "id": 1506, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1490, - "src": "5209:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5191:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1508, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1481, - "src": "5224:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5191:43:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1510, - "nodeType": "ExpressionStatement", - "src": "5191:43:5" - } - ] - } - }, - { - "expression": { - "id": 1516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "5365:33:5", - "subExpression": { - "baseExpression": { - "id": 1513, - "name": "_ownedTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "5372:17:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1515, - "indexExpression": { - "id": 1514, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1468, - "src": "5390:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5372:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1517, - "nodeType": "ExpressionStatement", - "src": "5365:33:5" - }, - { - "expression": { - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "5408:41:5", - "subExpression": { - "baseExpression": { - "baseExpression": { - "id": 1518, - "name": "_ownedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1236, - "src": "5415:12:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 1520, - "indexExpression": { - "id": 1519, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1466, - "src": "5428:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5415:18:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1522, - "indexExpression": { - "id": 1521, - "name": "lastTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "5434:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5415:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1524, - "nodeType": "ExpressionStatement", - "src": "5408:41:5" - } - ] - }, - "documentation": { - "id": 1464, - "nodeType": "StructuredDocumentation", - "src": "3875:606:5", - "text": " @dev Private function to remove a token from this extension's ownership-tracking data structures. Note that\n while the token is not assigned a new owner, the `_ownedTokensIndex` mapping is _not_ updated: this allows for\n gas optimizations e.g. when performing a transfer operation (avoiding double writes).\n This has O(1) time complexity, but alters the order of the _ownedTokens array.\n @param from address representing the previous owner of the given token ID\n @param tokenId uint256 ID of the token to be removed from the tokens list of the given address" - }, - "id": 1526, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeTokenFromOwnerEnumeration", - "nameLocation": "4495:32:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1466, - "mutability": "mutable", - "name": "from", - "nameLocation": "4536:4:5", - "nodeType": "VariableDeclaration", - "scope": 1526, - "src": "4528:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1465, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4528:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1468, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4550:7:5", - "nodeType": "VariableDeclaration", - "scope": 1526, - "src": "4542:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4527:31:5" - }, - "returnParameters": { - "id": 1470, - "nodeType": "ParameterList", - "parameters": [], - "src": "4567:0:5" - }, - "scope": 1575, - "src": "4486:970:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 1573, - "nodeType": "Block", - "src": "5815:990:5", - "statements": [ - { - "assignments": [ - 1533 - ], - "declarations": [ - { - "constant": false, - "id": 1533, - "mutability": "mutable", - "name": "lastTokenIndex", - "nameLocation": "6001:14:5", - "nodeType": "VariableDeclaration", - "scope": 1573, - "src": "5993:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5993:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1538, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1534, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "6018:10:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6029:6:5", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "6018:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 1536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6038:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6018:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5993:46:5" - }, - { - "assignments": [ - 1540 - ], - "declarations": [ - { - "constant": false, - "id": 1540, - "mutability": "mutable", - "name": "tokenIndex", - "nameLocation": "6057:10:5", - "nodeType": "VariableDeclaration", - "scope": 1573, - "src": "6049:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1539, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6049:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1544, - "initialValue": { - "baseExpression": { - "id": 1541, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "6070:15:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1543, - "indexExpression": { - "id": 1542, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1529, - "src": "6086:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6070:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6049:45:5" - }, - { - "assignments": [ - 1546 - ], - "declarations": [ - { - "constant": false, - "id": 1546, - "mutability": "mutable", - "name": "lastTokenId", - "nameLocation": "6424:11:5", - "nodeType": "VariableDeclaration", - "scope": 1573, - "src": "6416:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6416:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1550, - "initialValue": { - "baseExpression": { - "id": 1547, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "6438:10:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1549, - "indexExpression": { - "id": 1548, - "name": "lastTokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "6449:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6438:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6416:48:5" - }, - { - "expression": { - "id": 1555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1551, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "6475:10:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1553, - "indexExpression": { - "id": 1552, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1540, - "src": "6486:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6475:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1554, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6500:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6475:36:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1556, - "nodeType": "ExpressionStatement", - "src": "6475:36:5" - }, - { - "expression": { - "id": 1561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1557, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "6579:15:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1559, - "indexExpression": { - "id": 1558, - "name": "lastTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6595:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6579:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1560, - "name": "tokenIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1540, - "src": "6610:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6579:41:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1562, - "nodeType": "ExpressionStatement", - "src": "6579:41:5" - }, - { - "expression": { - "id": 1566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "6741:31:5", - "subExpression": { - "baseExpression": { - "id": 1563, - "name": "_allTokensIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "6748:15:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1565, - "indexExpression": { - "id": 1564, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1529, - "src": "6764:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6748:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1567, - "nodeType": "ExpressionStatement", - "src": "6741:31:5" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1568, - "name": "_allTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "6782:10:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6793:3:5", - "memberName": "pop", - "nodeType": "MemberAccess", - "src": "6782:14:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer)" - } - }, - "id": 1571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6782:16:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1572, - "nodeType": "ExpressionStatement", - "src": "6782:16:5" - } - ] - }, - "documentation": { - "id": 1527, - "nodeType": "StructuredDocumentation", - "src": "5462:277:5", - "text": " @dev Private function to remove a token from this extension's token tracking data structures.\n This has O(1) time complexity, but alters the order of the _allTokens array.\n @param tokenId uint256 ID of the token to be removed from the tokens list" - }, - "id": 1574, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeTokenFromAllTokensEnumeration", - "nameLocation": "5753:36:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1529, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "5798:7:5", - "nodeType": "VariableDeclaration", - "scope": 1574, - "src": "5790:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1528, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5790:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5789:17:5" - }, - "returnParameters": { - "id": 1531, - "nodeType": "ParameterList", - "parameters": [], - "src": "5815:0:5" - }, - "scope": 1575, - "src": "5744:1061:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 1576, - "src": "412:6395:5", - "usedErrors": [] - } - ], - "src": "128:6680:5" - }, - "id": 5 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "exportedSymbols": { - "Address": [ - 2088 - ], - "Context": [ - 2110 - ], - "ERC165": [ - 2383 - ], - "ERC721": [ - 1057 - ], - "ERC721URIStorage": [ - 1700 - ], - "IERC165": [ - 2395 - ], - "IERC721": [ - 1173 - ], - "IERC721Metadata": [ - 1758 - ], - "IERC721Receiver": [ - 1191 - ], - "Math": [ - 3260 - ], - "Strings": [ - 2359 - ] - }, - "id": 1701, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1577, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "128:23:6" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "../ERC721.sol", - "id": 1578, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1701, - "sourceUnit": 1058, - "src": "153:23:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1580, - "name": "ERC721", - "nameLocations": [ - "286:6:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "286:6:6" - }, - "id": 1581, - "nodeType": "InheritanceSpecifier", - "src": "286:6:6" - } - ], - "canonicalName": "ERC721URIStorage", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1579, - "nodeType": "StructuredDocumentation", - "src": "178:69:6", - "text": " @dev ERC721 token with storage based token URI management." - }, - "fullyImplemented": false, - "id": 1700, - "linearizedBaseContracts": [ - 1700, - 1057, - 1758, - 1173, - 2383, - 2395, - 2110 - ], - "name": "ERC721URIStorage", - "nameLocation": "266:16:6", - "nodeType": "ContractDefinition", - "nodes": [ - { - "global": false, - "id": 1584, - "libraryName": { - "id": 1582, - "name": "Strings", - "nameLocations": [ - "305:7:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2359, - "src": "305:7:6" - }, - "nodeType": "UsingForDirective", - "src": "299:26:6", - "typeName": { - "id": 1583, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "317:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 1588, - "mutability": "mutable", - "name": "_tokenURIs", - "nameLocation": "405:10:6", - "nodeType": "VariableDeclaration", - "scope": 1700, - "src": "370:45:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 1587, - "keyType": { - "id": 1585, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "378:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "370:26:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 1586, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "389:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "visibility": "private" - }, - { - "baseFunctions": [ - 317 - ], - "body": { - "id": 1646, - "nodeType": "Block", - "src": "570:520:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1598, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1591, - "src": "595:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1597, - "name": "_requireMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "580:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$", - "typeString": "function (uint256) view" - } - }, - "id": 1599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "580:23:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1600, - "nodeType": "ExpressionStatement", - "src": "580:23:6" - }, - { - "assignments": [ - 1602 - ], - "declarations": [ - { - "constant": false, - "id": 1602, - "mutability": "mutable", - "name": "_tokenURI", - "nameLocation": "628:9:6", - "nodeType": "VariableDeclaration", - "scope": 1646, - "src": "614:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1601, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "614:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1606, - "initialValue": { - "baseExpression": { - "id": 1603, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1588, - "src": "640:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1605, - "indexExpression": { - "id": 1604, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1591, - "src": "651:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "640:19:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "614:45:6" - }, - { - "assignments": [ - 1608 - ], - "declarations": [ - { - "constant": false, - "id": 1608, - "mutability": "mutable", - "name": "base", - "nameLocation": "683:4:6", - "nodeType": "VariableDeclaration", - "scope": 1646, - "src": "669:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1607, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "669:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1611, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1609, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "690:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 1610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "690:10:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "669:31:6" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1614, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "779:4:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "773:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1612, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "773:5:6", - "typeDescriptions": {} - } - }, - "id": 1615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "773:11:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "785:6:6", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "773:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "795:1:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "773:23:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1622, - "nodeType": "IfStatement", - "src": "769:70:6", - "trueBody": { - "id": 1621, - "nodeType": "Block", - "src": "798:41:6", - "statements": [ - { - "expression": { - "id": 1619, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1602, - "src": "819:9:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1596, - "id": 1620, - "nodeType": "Return", - "src": "812:16:6" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1625, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1602, - "src": "947:9:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "941:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1623, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "941:5:6", - "typeDescriptions": {} - } - }, - "id": 1626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "941:16:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "958:6:6", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "941:23:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "967:1:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "941:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1640, - "nodeType": "IfStatement", - "src": "937:106:6", - "trueBody": { - "id": 1639, - "nodeType": "Block", - "src": "970:73:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1634, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1608, - "src": "1015:4:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 1635, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1602, - "src": "1021:9:6", - "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": 1632, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "998:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1002:12:6", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "998:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "998:33:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "991:6:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1630, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "991:6:6", - "typeDescriptions": {} - } - }, - "id": 1637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "991:41:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1596, - "id": 1638, - "nodeType": "Return", - "src": "984:48:6" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 1643, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1591, - "src": "1075:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1641, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1060:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721URIStorage_$1700_$", - "typeString": "type(contract super ERC721URIStorage)" - } - }, - "id": 1642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1066:8:6", - "memberName": "tokenURI", - "nodeType": "MemberAccess", - "referencedDeclaration": 317, - "src": "1060:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view returns (string memory)" - } - }, - "id": 1644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1060:23:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 1596, - "id": 1645, - "nodeType": "Return", - "src": "1053:30:6" - } - ] - }, - "documentation": { - "id": 1589, - "nodeType": "StructuredDocumentation", - "src": "422:55:6", - "text": " @dev See {IERC721Metadata-tokenURI}." - }, - "functionSelector": "c87b56dd", - "id": 1647, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "491:8:6", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1593, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "537:8:6" - }, - "parameters": { - "id": 1592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1591, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "508:7:6", - "nodeType": "VariableDeclaration", - "scope": 1647, - "src": "500:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "500:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "499:17:6" - }, - "returnParameters": { - "id": 1596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1595, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1647, - "src": "555:13:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "555:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "554:15:6" - }, - "scope": 1700, - "src": "482:608:6", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 1668, - "nodeType": "Block", - "src": "1318:133:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1657, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1650, - "src": "1344:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1656, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 558, - "src": "1336:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1336:16:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524337323155524953746f726167653a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", - "id": 1659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1354:48:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4", - "typeString": "literal_string \"ERC721URIStorage: URI set of nonexistent token\"" - }, - "value": "ERC721URIStorage: URI set of nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4", - "typeString": "literal_string \"ERC721URIStorage: URI set of nonexistent token\"" - } - ], - "id": 1655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1328:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1328:75:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1661, - "nodeType": "ExpressionStatement", - "src": "1328:75:6" - }, - { - "expression": { - "id": 1666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1662, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1588, - "src": "1413:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1664, - "indexExpression": { - "id": 1663, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1650, - "src": "1424:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1413:19:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1665, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1652, - "src": "1435:9:6", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1413:31:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1667, - "nodeType": "ExpressionStatement", - "src": "1413:31:6" - } - ] - }, - "documentation": { - "id": 1648, - "nodeType": "StructuredDocumentation", - "src": "1096:136:6", - "text": " @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n Requirements:\n - `tokenId` must exist." - }, - "id": 1669, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenURI", - "nameLocation": "1246:12:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1650, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1267:7:6", - "nodeType": "VariableDeclaration", - "scope": 1669, - "src": "1259:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1259:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1652, - "mutability": "mutable", - "name": "_tokenURI", - "nameLocation": "1290:9:6", - "nodeType": "VariableDeclaration", - "scope": 1669, - "src": "1276:23:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1651, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1276:6:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1258:42:6" - }, - "returnParameters": { - "id": 1654, - "nodeType": "ParameterList", - "parameters": [], - "src": "1318:0:6" - }, - "scope": 1700, - "src": "1237:214:6", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 780 - ], - "body": { - "id": 1698, - "nodeType": "Block", - "src": "1727:142:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1679, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1672, - "src": "1749:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 1676, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1737:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC721URIStorage_$1700_$", - "typeString": "type(contract super ERC721URIStorage)" - } - }, - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1743:5:6", - "memberName": "_burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 780, - "src": "1737:11:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1737:20:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1681, - "nodeType": "ExpressionStatement", - "src": "1737:20:6" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 1684, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1588, - "src": "1778:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1686, - "indexExpression": { - "id": 1685, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1672, - "src": "1789:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1778:19:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1772:5:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1682, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1772:5:6", - "typeDescriptions": {} - } - }, - "id": 1687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1772:26:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "id": 1688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1799:6:6", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1772:33:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 1689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1809:1:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1772:38:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1697, - "nodeType": "IfStatement", - "src": "1768:95:6", - "trueBody": { - "id": 1696, - "nodeType": "Block", - "src": "1812:51:6", - "statements": [ - { - "expression": { - "id": 1694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1826:26:6", - "subExpression": { - "baseExpression": { - "id": 1691, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1588, - "src": "1833:10:6", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1693, - "indexExpression": { - "id": 1692, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1672, - "src": "1844:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1833:19:6", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1695, - "nodeType": "ExpressionStatement", - "src": "1826:26:6" - } - ] - } - } - ] - }, - "documentation": { - "id": 1670, - "nodeType": "StructuredDocumentation", - "src": "1457:207:6", - "text": " @dev See {ERC721-_burn}. This override additionally checks to see if a\n token-specific URI was set for the token, and if so, it deletes the token URI from\n the storage mapping." - }, - "id": 1699, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "1678:5:6", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1674, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1718:8:6" - }, - "parameters": { - "id": 1673, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1672, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1692:7:6", - "nodeType": "VariableDeclaration", - "scope": 1699, - "src": "1684:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1684:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1683:17:6" - }, - "returnParameters": { - "id": 1675, - "nodeType": "ParameterList", - "parameters": [], - "src": "1727:0:6" - }, - "scope": 1700, - "src": "1669:200:6", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 1701, - "src": "248:1623:6", - "usedErrors": [] - } - ], - "src": "128:1744:6" - }, - "id": 6 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol", - "exportedSymbols": { - "IERC165": [ - 2395 - ], - "IERC721": [ - 1173 - ], - "IERC721Enumerable": [ - 1731 - ] - }, - "id": 1732, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1702, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "129:23:7" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "../IERC721.sol", - "id": 1703, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1732, - "sourceUnit": 1174, - "src": "154:24:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1705, - "name": "IERC721", - "nameLocations": [ - "348:7:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1173, - "src": "348:7:7" - }, - "id": 1706, - "nodeType": "InheritanceSpecifier", - "src": "348:7:7" - } - ], - "canonicalName": "IERC721Enumerable", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1704, - "nodeType": "StructuredDocumentation", - "src": "180:136:7", - "text": " @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" - }, - "fullyImplemented": false, - "id": 1731, - "linearizedBaseContracts": [ - 1731, - 1173, - 2395 - ], - "name": "IERC721Enumerable", - "nameLocation": "327:17:7", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1707, - "nodeType": "StructuredDocumentation", - "src": "362:82:7", - "text": " @dev Returns the total amount of tokens stored by the contract." - }, - "functionSelector": "18160ddd", - "id": 1712, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "458:11:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1708, - "nodeType": "ParameterList", - "parameters": [], - "src": "469:2:7" - }, - "returnParameters": { - "id": 1711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1710, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1712, - "src": "495:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "495:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "494:9:7" - }, - "scope": 1731, - "src": "449:55:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1713, - "nodeType": "StructuredDocumentation", - "src": "510:171:7", - "text": " @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n Use along with {balanceOf} to enumerate all of ``owner``'s tokens." - }, - "functionSelector": "2f745c59", - "id": 1722, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nameLocation": "695:19:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1715, - "mutability": "mutable", - "name": "owner", - "nameLocation": "723:5:7", - "nodeType": "VariableDeclaration", - "scope": 1722, - "src": "715:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "715:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1717, - "mutability": "mutable", - "name": "index", - "nameLocation": "738:5:7", - "nodeType": "VariableDeclaration", - "scope": 1722, - "src": "730:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "730:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "714:30:7" - }, - "returnParameters": { - "id": 1721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1720, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1722, - "src": "768:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "768:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "767:9:7" - }, - "scope": 1731, - "src": "686:91:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1723, - "nodeType": "StructuredDocumentation", - "src": "783:164:7", - "text": " @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n Use along with {totalSupply} to enumerate all tokens." - }, - "functionSelector": "4f6ccce7", - "id": 1730, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nameLocation": "961:12:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1725, - "mutability": "mutable", - "name": "index", - "nameLocation": "982:5:7", - "nodeType": "VariableDeclaration", - "scope": 1730, - "src": "974:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "974:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "973:15:7" - }, - "returnParameters": { - "id": 1729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1728, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1730, - "src": "1012:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1012:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1011:9:7" - }, - "scope": 1731, - "src": "952:69:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1732, - "src": "317:706:7", - "usedErrors": [] - } - ], - "src": "129:895:7" - }, - "id": 7 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", - "exportedSymbols": { - "IERC165": [ - 2395 - ], - "IERC721": [ - 1173 - ], - "IERC721Metadata": [ - 1758 - ] - }, - "id": 1759, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1733, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "112:23:8" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "../IERC721.sol", - "id": 1734, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1759, - "sourceUnit": 1174, - "src": "137:24:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 1736, - "name": "IERC721", - "nameLocations": [ - "326:7:8" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1173, - "src": "326:7:8" - }, - "id": 1737, - "nodeType": "InheritanceSpecifier", - "src": "326:7:8" - } - ], - "canonicalName": "IERC721Metadata", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 1735, - "nodeType": "StructuredDocumentation", - "src": "163:133:8", - "text": " @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" - }, - "fullyImplemented": false, - "id": 1758, - "linearizedBaseContracts": [ - 1758, - 1173, - 2395 - ], - "name": "IERC721Metadata", - "nameLocation": "307:15:8", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 1738, - "nodeType": "StructuredDocumentation", - "src": "340:58:8", - "text": " @dev Returns the token collection name." - }, - "functionSelector": "06fdde03", - "id": 1743, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "412:4:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1739, - "nodeType": "ParameterList", - "parameters": [], - "src": "416:2:8" - }, - "returnParameters": { - "id": 1742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1741, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1743, - "src": "442:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1740, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "442:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "441:15:8" - }, - "scope": 1758, - "src": "403:54:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1744, - "nodeType": "StructuredDocumentation", - "src": "463:60:8", - "text": " @dev Returns the token collection symbol." - }, - "functionSelector": "95d89b41", - "id": 1749, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "537:6:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1745, - "nodeType": "ParameterList", - "parameters": [], - "src": "543:2:8" - }, - "returnParameters": { - "id": 1748, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1747, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1749, - "src": "569:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1746, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "569:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "568:15:8" - }, - "scope": 1758, - "src": "528:56:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 1750, - "nodeType": "StructuredDocumentation", - "src": "590:90:8", - "text": " @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token." - }, - "functionSelector": "c87b56dd", - "id": 1757, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "694:8:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1752, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "711:7:8", - "nodeType": "VariableDeclaration", - "scope": 1757, - "src": "703:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "703:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "702:17:8" - }, - "returnParameters": { - "id": 1756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1755, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1757, - "src": "743:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1754, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "743:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "742:15:8" - }, - "scope": 1758, - "src": "685:73:8", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 1759, - "src": "297:463:8", - "usedErrors": [] - } - ], - "src": "112:649:8" - }, - "id": 8 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 2088 - ] - }, - "id": 2089, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1760, - "literals": [ - "solidity", - "^", - "0.8", - ".1" - ], - "nodeType": "PragmaDirective", - "src": "101:23:9" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Address", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 1761, - "nodeType": "StructuredDocumentation", - "src": "126:67:9", - "text": " @dev Collection of functions related to the address type" - }, - "fullyImplemented": true, - "id": 2088, - "linearizedBaseContracts": [ - 2088 - ], - "name": "Address", - "nameLocation": "202:7:9", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1775, - "nodeType": "Block", - "src": "1241:254:9", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 1769, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1764, - "src": "1465:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1473:4:9", - "memberName": "code", - "nodeType": "MemberAccess", - "src": "1465:12:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1478:6:9", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1465:19:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1487:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1465:23:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1768, - "id": 1774, - "nodeType": "Return", - "src": "1458:30:9" - } - ] - }, - "documentation": { - "id": 1762, - "nodeType": "StructuredDocumentation", - "src": "216:954:9", - "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 ====\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": 1776, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nameLocation": "1184:10:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1764, - "mutability": "mutable", - "name": "account", - "nameLocation": "1203:7:9", - "nodeType": "VariableDeclaration", - "scope": 1776, - "src": "1195:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1195:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1194:17:9" - }, - "returnParameters": { - "id": 1768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1767, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1776, - "src": "1235:4:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1766, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1235:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1234:6:9" - }, - "scope": 2088, - "src": "1175:320:9", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1809, - "nodeType": "Block", - "src": "2483:241:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1787, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "2509:4:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$2088", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$2088", - "typeString": "library Address" - } - ], - "id": 1786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2501:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2501:7:9", - "typeDescriptions": {} - } - }, - "id": 1788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2501:13:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2515:7:9", - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "2501:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1790, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "2526:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2501:31:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 1792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2534:31:9", - "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": 1784, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2493:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2493:73:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1794, - "nodeType": "ExpressionStatement", - "src": "2493:73:9" - }, - { - "assignments": [ - 1796, - null - ], - "declarations": [ - { - "constant": false, - "id": 1796, - "mutability": "mutable", - "name": "success", - "nameLocation": "2583:7:9", - "nodeType": "VariableDeclaration", - "scope": 1809, - "src": "2578:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1795, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2578:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 1803, - "initialValue": { - "arguments": [ - { - "hexValue": "", - "id": 1801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2626:2:9", - "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": 1797, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1779, - "src": "2596:9:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2606:4:9", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "2596:14:9", - "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": 1800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 1799, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "2618:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2596:29:9", - "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": 1802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2596:33:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2577:52:9" - }, - { - "expression": { - "arguments": [ - { - "id": 1805, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1796, - "src": "2647:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2656:60:9", - "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": 1804, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2639:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2639:78:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1808, - "nodeType": "ExpressionStatement", - "src": "2639:78:9" - } - ] - }, - "documentation": { - "id": 1777, - "nodeType": "StructuredDocumentation", - "src": "1501:906:9", - "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." - }, - "id": 1810, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendValue", - "nameLocation": "2421:9:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1779, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "2447:9:9", - "nodeType": "VariableDeclaration", - "scope": 1810, - "src": "2431:25:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2431:15:9", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1781, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2466:6:9", - "nodeType": "VariableDeclaration", - "scope": 1810, - "src": "2458:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2458:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2430:43:9" - }, - "returnParameters": { - "id": 1783, - "nodeType": "ParameterList", - "parameters": [], - "src": "2483:0:9" - }, - "scope": 2088, - "src": "2412:312:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1827, - "nodeType": "Block", - "src": "3555:96:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1821, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1813, - "src": "3594:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1822, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1815, - "src": "3602:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "30", - "id": 1823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3608:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 1824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3611:32:9", - "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": 1820, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1868, - 1912 - ], - "referencedDeclaration": 1912, - "src": "3572:21:9", - "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": 1825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3572:72:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1819, - "id": 1826, - "nodeType": "Return", - "src": "3565:79:9" - } - ] - }, - "documentation": { - "id": 1811, - "nodeType": "StructuredDocumentation", - "src": "2730:731:9", - "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": 1828, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nameLocation": "3475:12:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1813, - "mutability": "mutable", - "name": "target", - "nameLocation": "3496:6:9", - "nodeType": "VariableDeclaration", - "scope": 1828, - "src": "3488:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3488:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1815, - "mutability": "mutable", - "name": "data", - "nameLocation": "3517:4:9", - "nodeType": "VariableDeclaration", - "scope": 1828, - "src": "3504:17:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1814, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3504:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3487:35:9" - }, - "returnParameters": { - "id": 1819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1818, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1828, - "src": "3541:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1817, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3541:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3540:14:9" - }, - "scope": 2088, - "src": "3466:185:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1847, - "nodeType": "Block", - "src": "4020:76:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1841, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1831, - "src": "4059:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1842, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1833, - "src": "4067:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "30", - "id": 1843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4073:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 1844, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1835, - "src": "4076:12:9", - "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": 1840, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1868, - 1912 - ], - "referencedDeclaration": 1912, - "src": "4037:21:9", - "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": 1845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4037:52:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1839, - "id": 1846, - "nodeType": "Return", - "src": "4030:59:9" - } - ] - }, - "documentation": { - "id": 1829, - "nodeType": "StructuredDocumentation", - "src": "3657:211:9", - "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": 1848, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nameLocation": "3882:12:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1831, - "mutability": "mutable", - "name": "target", - "nameLocation": "3912:6:9", - "nodeType": "VariableDeclaration", - "scope": 1848, - "src": "3904:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1830, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3904:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1833, - "mutability": "mutable", - "name": "data", - "nameLocation": "3941:4:9", - "nodeType": "VariableDeclaration", - "scope": 1848, - "src": "3928:17:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1832, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3928:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1835, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "3969:12:9", - "nodeType": "VariableDeclaration", - "scope": 1848, - "src": "3955:26:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1834, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3955:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3894:93:9" - }, - "returnParameters": { - "id": 1839, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1838, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1848, - "src": "4006:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1837, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4006:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4005:14:9" - }, - "scope": 2088, - "src": "3873:223:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1867, - "nodeType": "Block", - "src": "4601:111:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1861, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4640:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1862, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1853, - "src": "4648:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1863, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1855, - "src": "4654:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 1864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4661:43:9", - "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": 1860, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1868, - 1912 - ], - "referencedDeclaration": 1912, - "src": "4618:21:9", - "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": 1865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4618:87:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1859, - "id": 1866, - "nodeType": "Return", - "src": "4611:94:9" - } - ] - }, - "documentation": { - "id": 1849, - "nodeType": "StructuredDocumentation", - "src": "4102:351:9", - "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": 1868, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nameLocation": "4467:21:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1851, - "mutability": "mutable", - "name": "target", - "nameLocation": "4506:6:9", - "nodeType": "VariableDeclaration", - "scope": 1868, - "src": "4498:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4498:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1853, - "mutability": "mutable", - "name": "data", - "nameLocation": "4535:4:9", - "nodeType": "VariableDeclaration", - "scope": 1868, - "src": "4522:17:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1852, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4522:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1855, - "mutability": "mutable", - "name": "value", - "nameLocation": "4557:5:9", - "nodeType": "VariableDeclaration", - "scope": 1868, - "src": "4549:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4549:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4488:80:9" - }, - "returnParameters": { - "id": 1859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1858, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1868, - "src": "4587:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1857, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4587:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4586:14:9" - }, - "scope": 2088, - "src": "4458:254:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1911, - "nodeType": "Block", - "src": "5139:267:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 1885, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "5165:4:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$2088", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$2088", - "typeString": "library Address" - } - ], - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5157:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1883, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5157:7:9", - "typeDescriptions": {} - } - }, - "id": 1886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5157:13:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5171:7:9", - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "5157:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1888, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1875, - "src": "5182:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5157:30:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 1890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5189:40:9", - "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": 1882, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5149:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5149:81:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1892, - "nodeType": "ExpressionStatement", - "src": "5149:81:9" - }, - { - "assignments": [ - 1894, - 1896 - ], - "declarations": [ - { - "constant": false, - "id": 1894, - "mutability": "mutable", - "name": "success", - "nameLocation": "5246:7:9", - "nodeType": "VariableDeclaration", - "scope": 1911, - "src": "5241:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1893, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5241:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1896, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "5268:10:9", - "nodeType": "VariableDeclaration", - "scope": 1911, - "src": "5255:23:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1895, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5255:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1903, - "initialValue": { - "arguments": [ - { - "id": 1901, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1873, - "src": "5308:4:9", - "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": 1897, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1871, - "src": "5282:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5289:4:9", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5282:11:9", - "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": 1900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 1899, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1875, - "src": "5301:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5282:25:9", - "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": 1902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5282:31:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5240:73:9" - }, - { - "expression": { - "arguments": [ - { - "id": 1905, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1871, - "src": "5357:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1906, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "5365:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1907, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1896, - "src": "5374:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1908, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1877, - "src": "5386:12:9", - "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": 1904, - "name": "verifyCallResultFromTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2043, - "src": "5330:26:9", - "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": 1909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5330:69:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1881, - "id": 1910, - "nodeType": "Return", - "src": "5323:76:9" - } - ] - }, - "documentation": { - "id": 1869, - "nodeType": "StructuredDocumentation", - "src": "4718:237:9", - "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": 1912, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nameLocation": "4969:21:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1871, - "mutability": "mutable", - "name": "target", - "nameLocation": "5008:6:9", - "nodeType": "VariableDeclaration", - "scope": 1912, - "src": "5000:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1870, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5000:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1873, - "mutability": "mutable", - "name": "data", - "nameLocation": "5037:4:9", - "nodeType": "VariableDeclaration", - "scope": 1912, - "src": "5024:17:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1872, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5024:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1875, - "mutability": "mutable", - "name": "value", - "nameLocation": "5059:5:9", - "nodeType": "VariableDeclaration", - "scope": 1912, - "src": "5051:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1874, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5051:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1877, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "5088:12:9", - "nodeType": "VariableDeclaration", - "scope": 1912, - "src": "5074:26:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1876, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5074:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4990:116:9" - }, - "returnParameters": { - "id": 1881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1880, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1912, - "src": "5125:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1879, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5125:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5124:14:9" - }, - "scope": 2088, - "src": "4960:446:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1928, - "nodeType": "Block", - "src": "5683:97:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1923, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "5719:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1924, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1917, - "src": "5727:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", - "id": 1925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5733:39:9", - "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": 1922, - "name": "functionStaticCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1929, - 1958 - ], - "referencedDeclaration": 1958, - "src": "5700:18:9", - "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": 1926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5700:73:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1921, - "id": 1927, - "nodeType": "Return", - "src": "5693:80:9" - } - ] - }, - "documentation": { - "id": 1913, - "nodeType": "StructuredDocumentation", - "src": "5412:166:9", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" - }, - "id": 1929, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nameLocation": "5592:18:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1918, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1915, - "mutability": "mutable", - "name": "target", - "nameLocation": "5619:6:9", - "nodeType": "VariableDeclaration", - "scope": 1929, - "src": "5611:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1914, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5611:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1917, - "mutability": "mutable", - "name": "data", - "nameLocation": "5640:4:9", - "nodeType": "VariableDeclaration", - "scope": 1929, - "src": "5627:17:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1916, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5627:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5610:35:9" - }, - "returnParameters": { - "id": 1921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1920, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1929, - "src": "5669:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1919, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5669:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5668:14:9" - }, - "scope": 2088, - "src": "5583:197:9", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1957, - "nodeType": "Block", - "src": "6122:168:9", - "statements": [ - { - "assignments": [ - 1942, - 1944 - ], - "declarations": [ - { - "constant": false, - "id": 1942, - "mutability": "mutable", - "name": "success", - "nameLocation": "6138:7:9", - "nodeType": "VariableDeclaration", - "scope": 1957, - "src": "6133:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1941, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6133:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1944, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "6160:10:9", - "nodeType": "VariableDeclaration", - "scope": 1957, - "src": "6147:23:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1943, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6147:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1949, - "initialValue": { - "arguments": [ - { - "id": 1947, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1934, - "src": "6192:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1945, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1932, - "src": "6174:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6181:10:9", - "memberName": "staticcall", - "nodeType": "MemberAccess", - "src": "6174:17:9", - "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": 1948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6174:23:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6132:65:9" - }, - { - "expression": { - "arguments": [ - { - "id": 1951, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1932, - "src": "6241:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1952, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "6249:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1953, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1944, - "src": "6258:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1954, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1936, - "src": "6270:12:9", - "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": 1950, - "name": "verifyCallResultFromTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2043, - "src": "6214:26:9", - "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": 1955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6214:69:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1940, - "id": 1956, - "nodeType": "Return", - "src": "6207:76:9" - } - ] - }, - "documentation": { - "id": 1930, - "nodeType": "StructuredDocumentation", - "src": "5786:173:9", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" - }, - "id": 1958, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nameLocation": "5973:18:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1937, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1932, - "mutability": "mutable", - "name": "target", - "nameLocation": "6009:6:9", - "nodeType": "VariableDeclaration", - "scope": 1958, - "src": "6001:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1931, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6001:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1934, - "mutability": "mutable", - "name": "data", - "nameLocation": "6038:4:9", - "nodeType": "VariableDeclaration", - "scope": 1958, - "src": "6025:17:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1933, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6025:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1936, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "6066:12:9", - "nodeType": "VariableDeclaration", - "scope": 1958, - "src": "6052:26:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1935, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6052:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "5991:93:9" - }, - "returnParameters": { - "id": 1940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1939, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1958, - "src": "6108:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1938, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6108:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6107:14:9" - }, - "scope": 2088, - "src": "5964:326:9", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1974, - "nodeType": "Block", - "src": "6566:101:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1969, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1961, - "src": "6604:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1970, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1963, - "src": "6612:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "id": 1971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6618:41:9", - "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": 1968, - "name": "functionDelegateCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1975, - 2004 - ], - "referencedDeclaration": 2004, - "src": "6583:20:9", - "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": 1972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6583:77:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1967, - "id": 1973, - "nodeType": "Return", - "src": "6576:84:9" - } - ] - }, - "documentation": { - "id": 1959, - "nodeType": "StructuredDocumentation", - "src": "6296:168:9", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" - }, - "id": 1975, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nameLocation": "6478:20:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1964, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1961, - "mutability": "mutable", - "name": "target", - "nameLocation": "6507:6:9", - "nodeType": "VariableDeclaration", - "scope": 1975, - "src": "6499:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1960, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6499:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1963, - "mutability": "mutable", - "name": "data", - "nameLocation": "6528:4:9", - "nodeType": "VariableDeclaration", - "scope": 1975, - "src": "6515:17:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1962, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6515:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6498:35:9" - }, - "returnParameters": { - "id": 1967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1966, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1975, - "src": "6552:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1965, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6552:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6551:14:9" - }, - "scope": 2088, - "src": "6469:198:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2003, - "nodeType": "Block", - "src": "7008:170:9", - "statements": [ - { - "assignments": [ - 1988, - 1990 - ], - "declarations": [ - { - "constant": false, - "id": 1988, - "mutability": "mutable", - "name": "success", - "nameLocation": "7024:7:9", - "nodeType": "VariableDeclaration", - "scope": 2003, - "src": "7019:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1987, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7019:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1990, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "7046:10:9", - "nodeType": "VariableDeclaration", - "scope": 2003, - "src": "7033:23:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1989, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7033:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1995, - "initialValue": { - "arguments": [ - { - "id": 1993, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1980, - "src": "7080:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1991, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1978, - "src": "7060:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7067:12:9", - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "src": "7060:19:9", - "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": 1994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7060:25:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7018:67:9" - }, - { - "expression": { - "arguments": [ - { - "id": 1997, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1978, - "src": "7129:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1998, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1988, - "src": "7137:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1999, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "7146:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 2000, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1982, - "src": "7158:12:9", - "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": 1996, - "name": "verifyCallResultFromTarget", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2043, - "src": "7102:26:9", - "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": 2001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7102:69:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 1986, - "id": 2002, - "nodeType": "Return", - "src": "7095:76:9" - } - ] - }, - "documentation": { - "id": 1976, - "nodeType": "StructuredDocumentation", - "src": "6673:175:9", - "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" - }, - "id": 2004, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nameLocation": "6862:20:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1978, - "mutability": "mutable", - "name": "target", - "nameLocation": "6900:6:9", - "nodeType": "VariableDeclaration", - "scope": 2004, - "src": "6892:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1977, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6892:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1980, - "mutability": "mutable", - "name": "data", - "nameLocation": "6929:4:9", - "nodeType": "VariableDeclaration", - "scope": 2004, - "src": "6916:17:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1979, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6916:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1982, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "6957:12:9", - "nodeType": "VariableDeclaration", - "scope": 2004, - "src": "6943:26:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1981, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6943:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6882:93:9" - }, - "returnParameters": { - "id": 1986, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1985, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2004, - "src": "6994:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1984, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6994:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6993:14:9" - }, - "scope": 2088, - "src": "6853:325:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2042, - "nodeType": "Block", - "src": "7660:434:9", - "statements": [ - { - "condition": { - "id": 2018, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "7674:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2040, - "nodeType": "Block", - "src": "8030:58:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2036, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2011, - "src": "8052:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 2037, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "8064:12:9", - "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": 2035, - "name": "_revert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "8044:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bytes memory,string memory) pure" - } - }, - "id": 2038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8044:33:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2039, - "nodeType": "ExpressionStatement", - "src": "8044:33:9" - } - ] - }, - "id": 2041, - "nodeType": "IfStatement", - "src": "7670:418:9", - "trueBody": { - "id": 2034, - "nodeType": "Block", - "src": "7683:341:9", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2019, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2011, - "src": "7701:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7712:6:9", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "7701:17:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7722:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7701:22:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2031, - "nodeType": "IfStatement", - "src": "7697:286:9", - "trueBody": { - "id": 2030, - "nodeType": "Block", - "src": "7725:258:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2025, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2007, - "src": "7927:6:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2024, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1776, - "src": "7916:10:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7916:18:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 2027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7936:31:9", - "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": 2023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7908:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7908:60:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2029, - "nodeType": "ExpressionStatement", - "src": "7908:60:9" - } - ] - } - }, - { - "expression": { - "id": 2032, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2011, - "src": "8003:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 2017, - "id": 2033, - "nodeType": "Return", - "src": "7996:17:9" - } - ] - } - } - ] - }, - "documentation": { - "id": 2005, - "nodeType": "StructuredDocumentation", - "src": "7184:277:9", - "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": 2043, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verifyCallResultFromTarget", - "nameLocation": "7475:26:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2007, - "mutability": "mutable", - "name": "target", - "nameLocation": "7519:6:9", - "nodeType": "VariableDeclaration", - "scope": 2043, - "src": "7511:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7511:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2009, - "mutability": "mutable", - "name": "success", - "nameLocation": "7540:7:9", - "nodeType": "VariableDeclaration", - "scope": 2043, - "src": "7535:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2008, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7535:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2011, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "7570:10:9", - "nodeType": "VariableDeclaration", - "scope": 2043, - "src": "7557:23:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2010, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7557:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2013, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "7604:12:9", - "nodeType": "VariableDeclaration", - "scope": 2043, - "src": "7590:26:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2012, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7590:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "7501:121:9" - }, - "returnParameters": { - "id": 2017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2016, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2043, - "src": "7646:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2015, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7646:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "7645:14:9" - }, - "scope": 2088, - "src": "7466:628:9", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2066, - "nodeType": "Block", - "src": "8475:135:9", - "statements": [ - { - "condition": { - "id": 2055, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2046, - "src": "8489:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2064, - "nodeType": "Block", - "src": "8546:58:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2060, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2048, - "src": "8568:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 2061, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2050, - "src": "8580:12:9", - "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": 2059, - "name": "_revert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "8560:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bytes memory,string memory) pure" - } - }, - "id": 2062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8560:33:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2063, - "nodeType": "ExpressionStatement", - "src": "8560:33:9" - } - ] - }, - "id": 2065, - "nodeType": "IfStatement", - "src": "8485:119:9", - "trueBody": { - "id": 2058, - "nodeType": "Block", - "src": "8498:42:9", - "statements": [ - { - "expression": { - "id": 2056, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2048, - "src": "8519:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 2054, - "id": 2057, - "nodeType": "Return", - "src": "8512:17:9" - } - ] - } - } - ] - }, - "documentation": { - "id": 2044, - "nodeType": "StructuredDocumentation", - "src": "8100:210:9", - "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": 2067, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "verifyCallResult", - "nameLocation": "8324:16:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2051, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2046, - "mutability": "mutable", - "name": "success", - "nameLocation": "8355:7:9", - "nodeType": "VariableDeclaration", - "scope": 2067, - "src": "8350:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2045, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8350:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2048, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "8385:10:9", - "nodeType": "VariableDeclaration", - "scope": 2067, - "src": "8372:23:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2047, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8372:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2050, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "8419:12:9", - "nodeType": "VariableDeclaration", - "scope": 2067, - "src": "8405:26:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2049, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8405:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "8340:97:9" - }, - "returnParameters": { - "id": 2054, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2053, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2067, - "src": "8461:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2052, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8461:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8460:14:9" - }, - "scope": 2088, - "src": "8315:295:9", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2086, - "nodeType": "Block", - "src": "8699:457:9", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2074, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "8775:10:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8786:6:9", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8775:17:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8795:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8775:21:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2084, - "nodeType": "Block", - "src": "9105:45:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2081, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2071, - "src": "9126:12:9", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2080, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "9119:6:9", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9119:20:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2083, - "nodeType": "ExpressionStatement", - "src": "9119:20:9" - } - ] - }, - "id": 2085, - "nodeType": "IfStatement", - "src": "8771:379:9", - "trueBody": { - "id": 2079, - "nodeType": "Block", - "src": "8798:301:9", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "8956:133:9", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8974:40:9", - "value": { - "arguments": [ - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "9003:10:9" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8997:5:9" - }, - "nodeType": "YulFunctionCall", - "src": "8997:17:9" - }, - "variables": [ - { - "name": "returndata_size", - "nodeType": "YulTypedName", - "src": "8978:15:9", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9042:2:9", - "type": "", - "value": "32" - }, - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "9046:10:9" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9038:3:9" - }, - "nodeType": "YulFunctionCall", - "src": "9038:19:9" - }, - { - "name": "returndata_size", - "nodeType": "YulIdentifier", - "src": "9059:15:9" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9031:6:9" - }, - "nodeType": "YulFunctionCall", - "src": "9031:44:9" - }, - "nodeType": "YulExpressionStatement", - "src": "9031:44:9" - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 2069, - "isOffset": false, - "isSlot": false, - "src": "9003:10:9", - "valueSize": 1 - }, - { - "declaration": 2069, - "isOffset": false, - "isSlot": false, - "src": "9046:10:9", - "valueSize": 1 - } - ], - "id": 2078, - "nodeType": "InlineAssembly", - "src": "8947:142:9" - } - ] - } - } - ] - }, - "id": 2087, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revert", - "nameLocation": "8625:7:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2072, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2069, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "8646:10:9", - "nodeType": "VariableDeclaration", - "scope": 2087, - "src": "8633:23:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2068, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8633:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2071, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "8672:12:9", - "nodeType": "VariableDeclaration", - "scope": 2087, - "src": "8658:26:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2070, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8658:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "8632:53:9" - }, - "returnParameters": { - "id": 2073, - "nodeType": "ParameterList", - "parameters": [], - "src": "8699:0:9" - }, - "scope": 2088, - "src": "8616:540:9", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - } - ], - "scope": 2089, - "src": "194:8964:9", - "usedErrors": [] - } - ], - "src": "101:9058:9" - }, - "id": 9 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 2110 - ] - }, - "id": 2111, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2090, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "86:23:10" - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "Context", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2091, - "nodeType": "StructuredDocumentation", - "src": "111:496:10", - "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": 2110, - "linearizedBaseContracts": [ - 2110 - ], - "name": "Context", - "nameLocation": "626:7:10", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2099, - "nodeType": "Block", - "src": "702:34:10", - "statements": [ - { - "expression": { - "expression": { - "id": 2096, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "719:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "723:6:10", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "719:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 2095, - "id": 2098, - "nodeType": "Return", - "src": "712:17:10" - } - ] - }, - "id": 2100, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nameLocation": "649:10:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2092, - "nodeType": "ParameterList", - "parameters": [], - "src": "659:2:10" - }, - "returnParameters": { - "id": 2095, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2094, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2100, - "src": "693:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2093, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "693:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "692:9:10" - }, - "scope": 2110, - "src": "640:96:10", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 2108, - "nodeType": "Block", - "src": "809:32:10", - "statements": [ - { - "expression": { - "expression": { - "id": 2105, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "826:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "830:4:10", - "memberName": "data", - "nodeType": "MemberAccess", - "src": "826:8:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 2104, - "id": 2107, - "nodeType": "Return", - "src": "819:15:10" - } - ] - }, - "id": 2109, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nameLocation": "751:8:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2101, - "nodeType": "ParameterList", - "parameters": [], - "src": "759:2:10" - }, - "returnParameters": { - "id": 2104, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2103, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2109, - "src": "793:14:10", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2102, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "793:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "792:16:10" - }, - "scope": 2110, - "src": "742:99:10", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 2111, - "src": "608:235:10", - "usedErrors": [] - } - ], - "src": "86:758:10" - }, - "id": 10 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Counters.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Counters.sol", - "exportedSymbols": { - "Counters": [ - 2184 - ] - }, - "id": 2185, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2112, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "87:23:11" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Counters", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 2113, - "nodeType": "StructuredDocumentation", - "src": "112:311:11", - "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": 2184, - "linearizedBaseContracts": [ - 2184 - ], - "name": "Counters", - "nameLocation": "432:8:11", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Counters.Counter", - "id": 2116, - "members": [ - { - "constant": false, - "id": 2115, - "mutability": "mutable", - "name": "_value", - "nameLocation": "794:6:11", - "nodeType": "VariableDeclaration", - "scope": 2116, - "src": "786:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "786:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Counter", - "nameLocation": "454:7:11", - "nodeType": "StructDefinition", - "scope": 2184, - "src": "447:374:11", - "visibility": "public" - }, - { - "body": { - "id": 2127, - "nodeType": "Block", - "src": "901:38:11", - "statements": [ - { - "expression": { - "expression": { - "id": 2124, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2119, - "src": "918:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 2125, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "926:6:11", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2115, - "src": "918:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2123, - "id": 2126, - "nodeType": "Return", - "src": "911:21:11" - } - ] - }, - "id": 2128, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "current", - "nameLocation": "836:7:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2119, - "mutability": "mutable", - "name": "counter", - "nameLocation": "860:7:11", - "nodeType": "VariableDeclaration", - "scope": 2128, - "src": "844:23:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 2118, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2117, - "name": "Counter", - "nameLocations": [ - "844:7:11" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2116, - "src": "844:7:11" - }, - "referencedDeclaration": 2116, - "src": "844:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "843:25:11" - }, - "returnParameters": { - "id": 2123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2122, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2128, - "src": "892:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "892:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "891:9:11" - }, - "scope": 2184, - "src": "827:112:11", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2141, - "nodeType": "Block", - "src": "998:70:11", - "statements": [ - { - "id": 2140, - "nodeType": "UncheckedBlock", - "src": "1008:54:11", - "statements": [ - { - "expression": { - "id": 2138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 2134, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2131, - "src": "1032:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 2136, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1040:6:11", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2115, - "src": "1032:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1050:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1032:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2139, - "nodeType": "ExpressionStatement", - "src": "1032:19:11" - } - ] - } - ] - }, - "id": 2142, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increment", - "nameLocation": "954:9:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2131, - "mutability": "mutable", - "name": "counter", - "nameLocation": "980:7:11", - "nodeType": "VariableDeclaration", - "scope": 2142, - "src": "964:23:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 2130, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2129, - "name": "Counter", - "nameLocations": [ - "964:7:11" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2116, - "src": "964:7:11" - }, - "referencedDeclaration": 2116, - "src": "964:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "963:25:11" - }, - "returnParameters": { - "id": 2133, - "nodeType": "ParameterList", - "parameters": [], - "src": "998:0:11" - }, - "scope": 2184, - "src": "945:123:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2169, - "nodeType": "Block", - "src": "1127:176:11", - "statements": [ - { - "assignments": [ - 2149 - ], - "declarations": [ - { - "constant": false, - "id": 2149, - "mutability": "mutable", - "name": "value", - "nameLocation": "1145:5:11", - "nodeType": "VariableDeclaration", - "scope": 2169, - "src": "1137:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1137:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2152, - "initialValue": { - "expression": { - "id": 2150, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2145, - "src": "1153:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 2151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1161:6:11", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2115, - "src": "1153:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1137:30:11" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2154, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "1185:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2155, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1185:9:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "436f756e7465723a2064656372656d656e74206f766572666c6f77", - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1196:29:11", - "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": 2153, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1177:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1177:49:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2159, - "nodeType": "ExpressionStatement", - "src": "1177:49:11" - }, - { - "id": 2168, - "nodeType": "UncheckedBlock", - "src": "1236:61:11", - "statements": [ - { - "expression": { - "id": 2166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 2160, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2145, - "src": "1260:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 2162, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1268:6:11", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2115, - "src": "1260:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2163, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "1277:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1285:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1277:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1260:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2167, - "nodeType": "ExpressionStatement", - "src": "1260:26:11" - } - ] - } - ] - }, - "id": 2170, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decrement", - "nameLocation": "1083:9:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2145, - "mutability": "mutable", - "name": "counter", - "nameLocation": "1109:7:11", - "nodeType": "VariableDeclaration", - "scope": 2170, - "src": "1093:23:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 2144, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2143, - "name": "Counter", - "nameLocations": [ - "1093:7:11" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2116, - "src": "1093:7:11" - }, - "referencedDeclaration": 2116, - "src": "1093:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "1092:25:11" - }, - "returnParameters": { - "id": 2147, - "nodeType": "ParameterList", - "parameters": [], - "src": "1127:0:11" - }, - "scope": 2184, - "src": "1074:229:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2182, - "nodeType": "Block", - "src": "1358:35:11", - "statements": [ - { - "expression": { - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 2176, - "name": "counter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2173, - "src": "1368:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 2178, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1376:6:11", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 2115, - "src": "1368:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 2179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1385:1:11", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1368:18:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2181, - "nodeType": "ExpressionStatement", - "src": "1368:18:11" - } - ] - }, - "id": 2183, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "reset", - "nameLocation": "1318:5:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2174, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2173, - "mutability": "mutable", - "name": "counter", - "nameLocation": "1340:7:11", - "nodeType": "VariableDeclaration", - "scope": 2183, - "src": "1324:23:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 2172, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2171, - "name": "Counter", - "nameLocations": [ - "1324:7:11" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2116, - "src": "1324:7:11" - }, - "referencedDeclaration": 2116, - "src": "1324:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "src": "1323:25:11" - }, - "returnParameters": { - "id": 2175, - "nodeType": "ParameterList", - "parameters": [], - "src": "1358:0:11" - }, - "scope": 2184, - "src": "1309:84:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2185, - "src": "424:971:11", - "usedErrors": [] - } - ], - "src": "87:1309:11" - }, - "id": 11 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol", - "exportedSymbols": { - "Math": [ - 3260 - ], - "Strings": [ - 2359 - ] - }, - "id": 2360, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2186, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "101:23:12" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol", - "file": "./math/Math.sol", - "id": 2187, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2360, - "sourceUnit": 3261, - "src": "126:25:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Strings", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 2188, - "nodeType": "StructuredDocumentation", - "src": "153:34:12", - "text": " @dev String operations." - }, - "fullyImplemented": true, - "id": 2359, - "linearizedBaseContracts": [ - 2359 - ], - "name": "Strings", - "nameLocation": "196:7:12", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 2191, - "mutability": "constant", - "name": "_SYMBOLS", - "nameLocation": "235:8:12", - "nodeType": "VariableDeclaration", - "scope": 2359, - "src": "210:54:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 2189, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "210:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": { - "hexValue": "30313233343536373839616263646566", - "id": 2190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "246:18:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", - "typeString": "literal_string \"0123456789abcdef\"" - }, - "value": "0123456789abcdef" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 2194, - "mutability": "constant", - "name": "_ADDRESS_LENGTH", - "nameLocation": "293:15:12", - "nodeType": "VariableDeclaration", - "scope": 2359, - "src": "270:43:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2192, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "270:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "hexValue": "3230", - "id": 2193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "311:2:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "private" - }, - { - "body": { - "id": 2241, - "nodeType": "Block", - "src": "486:625:12", - "statements": [ - { - "id": 2240, - "nodeType": "UncheckedBlock", - "src": "496:609:12", - "statements": [ - { - "assignments": [ - 2203 - ], - "declarations": [ - { - "constant": false, - "id": 2203, - "mutability": "mutable", - "name": "length", - "nameLocation": "528:6:12", - "nodeType": "VariableDeclaration", - "scope": 2240, - "src": "520:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2210, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2206, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2197, - "src": "548:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2204, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "537:4:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$3260_$", - "typeString": "type(library Math)" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "542:5:12", - "memberName": "log10", - "nodeType": "MemberAccess", - "referencedDeclaration": 3097, - "src": "537:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "537:17:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 2208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "557:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "537:21:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "520:38:12" - }, - { - "assignments": [ - 2212 - ], - "declarations": [ - { - "constant": false, - "id": 2212, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "586:6:12", - "nodeType": "VariableDeclaration", - "scope": 2240, - "src": "572:20:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2211, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "572:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2217, - "initialValue": { - "arguments": [ - { - "id": 2215, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2203, - "src": "606:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "595:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - }, - "typeName": { - "id": 2213, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "599:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "id": 2216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "595:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "572:41:12" - }, - { - "assignments": [ - 2219 - ], - "declarations": [ - { - "constant": false, - "id": 2219, - "mutability": "mutable", - "name": "ptr", - "nameLocation": "635:3:12", - "nodeType": "VariableDeclaration", - "scope": 2240, - "src": "627:11:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2218, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "627:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2220, - "nodeType": "VariableDeclarationStatement", - "src": "627:11:12" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "708:67:12", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "726:35:12", - "value": { - "arguments": [ - { - "name": "buffer", - "nodeType": "YulIdentifier", - "src": "737:6:12" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "749:2:12", - "type": "", - "value": "32" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "753:6:12" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "745:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "745:15:12" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "733:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "733:28:12" - }, - "variableNames": [ - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "726:3:12" - } - ] - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 2212, - "isOffset": false, - "isSlot": false, - "src": "737:6:12", - "valueSize": 1 - }, - { - "declaration": 2203, - "isOffset": false, - "isSlot": false, - "src": "753:6:12", - "valueSize": 1 - }, - { - "declaration": 2219, - "isOffset": false, - "isSlot": false, - "src": "726:3:12", - "valueSize": 1 - } - ], - "id": 2221, - "nodeType": "InlineAssembly", - "src": "699:76:12" - }, - { - "body": { - "id": 2236, - "nodeType": "Block", - "src": "801:267:12", - "statements": [ - { - "expression": { - "id": 2224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "819:5:12", - "subExpression": { - "id": 2223, - "name": "ptr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2219, - "src": "819:3:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2225, - "nodeType": "ExpressionStatement", - "src": "819:5:12" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "902:84:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "932:3:12" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "946:5:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "953:2:12", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "942:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "942:14:12" - }, - { - "name": "_SYMBOLS", - "nodeType": "YulIdentifier", - "src": "958:8:12" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "937:4:12" - }, - "nodeType": "YulFunctionCall", - "src": "937:30:12" - } - ], - "functionName": { - "name": "mstore8", - "nodeType": "YulIdentifier", - "src": "924:7:12" - }, - "nodeType": "YulFunctionCall", - "src": "924:44:12" - }, - "nodeType": "YulExpressionStatement", - "src": "924:44:12" - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 2191, - "isOffset": false, - "isSlot": false, - "src": "958:8:12", - "valueSize": 1 - }, - { - "declaration": 2219, - "isOffset": false, - "isSlot": false, - "src": "932:3:12", - "valueSize": 1 - }, - { - "declaration": 2197, - "isOffset": false, - "isSlot": false, - "src": "946:5:12", - "valueSize": 1 - } - ], - "id": 2226, - "nodeType": "InlineAssembly", - "src": "893:93:12" - }, - { - "expression": { - "id": 2229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2227, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2197, - "src": "1003:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "hexValue": "3130", - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1012:2:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "1003:11:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2230, - "nodeType": "ExpressionStatement", - "src": "1003:11:12" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2231, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2197, - "src": "1036:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1045:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1036:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2235, - "nodeType": "IfStatement", - "src": "1032:21:12", - "trueBody": { - "id": 2234, - "nodeType": "Break", - "src": "1048:5:12" - } - } - ] - }, - "condition": { - "hexValue": "74727565", - "id": 2222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "795:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "id": 2237, - "nodeType": "WhileStatement", - "src": "788:280:12" - }, - { - "expression": { - "id": 2238, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2212, - "src": "1088:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 2201, - "id": 2239, - "nodeType": "Return", - "src": "1081:13:12" - } - ] - } - ] - }, - "documentation": { - "id": 2195, - "nodeType": "StructuredDocumentation", - "src": "320:90:12", - "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." - }, - "id": 2242, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nameLocation": "424:8:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2198, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2197, - "mutability": "mutable", - "name": "value", - "nameLocation": "441:5:12", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "433:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "433:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "432:15:12" - }, - "returnParameters": { - "id": 2201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2200, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2242, - "src": "471:13:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2199, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "471:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "470:15:12" - }, - "scope": 2359, - "src": "415:696:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2261, - "nodeType": "Block", - "src": "1290:100:12", - "statements": [ - { - "id": 2260, - "nodeType": "UncheckedBlock", - "src": "1300:84:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2251, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2245, - "src": "1343:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2254, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2245, - "src": "1362:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2252, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "1350:4:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$3260_$", - "typeString": "type(library Math)" - } - }, - "id": 2253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1355:6:12", - "memberName": "log256", - "nodeType": "MemberAccess", - "referencedDeclaration": 3220, - "src": "1350:11:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1350:18:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1371:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1350:22:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2250, - "name": "toHexString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2262, - 2338, - 2358 - ], - "referencedDeclaration": 2338, - "src": "1331:11:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 2258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1331:42:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 2249, - "id": 2259, - "nodeType": "Return", - "src": "1324:49:12" - } - ] - } - ] - }, - "documentation": { - "id": 2243, - "nodeType": "StructuredDocumentation", - "src": "1117:94:12", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." - }, - "id": 2262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1225:11:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2245, - "mutability": "mutable", - "name": "value", - "nameLocation": "1245:5:12", - "nodeType": "VariableDeclaration", - "scope": 2262, - "src": "1237:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1237:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1236:15:12" - }, - "returnParameters": { - "id": 2249, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2248, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2262, - "src": "1275:13:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2247, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1275:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1274:15:12" - }, - "scope": 2359, - "src": "1216:174:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2337, - "nodeType": "Block", - "src": "1603:347:12", - "statements": [ - { - "assignments": [ - 2273 - ], - "declarations": [ - { - "constant": false, - "id": 2273, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "1626:6:12", - "nodeType": "VariableDeclaration", - "scope": 2337, - "src": "1613:19:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2272, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1613:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 2282, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1645:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2277, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2267, - "src": "1649:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1645:10:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "32", - "id": 2279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1645:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1635:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 2274, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1639:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 2281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1635:25:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1613:47:12" - }, - { - "expression": { - "id": 2287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2283, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2273, - "src": "1670:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2285, - "indexExpression": { - "hexValue": "30", - "id": 2284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1677:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1670:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 2286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1682:3:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "src": "1670:15:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 2288, - "nodeType": "ExpressionStatement", - "src": "1670:15:12" - }, - { - "expression": { - "id": 2293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2289, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2273, - "src": "1695:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2291, - "indexExpression": { - "hexValue": "31", - "id": 2290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1702:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1695:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "78", - "id": 2292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1707:3:12", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", - "typeString": "literal_string \"x\"" - }, - "value": "x" - }, - "src": "1695:15:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 2294, - "nodeType": "ExpressionStatement", - "src": "1695:15:12" - }, - { - "body": { - "id": 2323, - "nodeType": "Block", - "src": "1765:83:12", - "statements": [ - { - "expression": { - "id": 2317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2309, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2273, - "src": "1779:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2311, - "indexExpression": { - "id": 2310, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2296, - "src": "1786:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1779:9:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 2312, - "name": "_SYMBOLS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2191, - "src": "1791:8:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "id": 2316, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2313, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2265, - "src": "1800:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "307866", - "id": 2314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1808:3:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "0xf" - }, - "src": "1800:11:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1791:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "1779:33:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 2318, - "nodeType": "ExpressionStatement", - "src": "1779:33:12" - }, - { - "expression": { - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2319, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2265, - "src": "1826:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "34", - "id": 2320, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1836:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "1826:11:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2322, - "nodeType": "ExpressionStatement", - "src": "1826:11:12" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2303, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2296, - "src": "1753:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "31", - "id": 2304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1757:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1753:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2324, - "initializationExpression": { - "assignments": [ - 2296 - ], - "declarations": [ - { - "constant": false, - "id": 2296, - "mutability": "mutable", - "name": "i", - "nameLocation": "1733:1:12", - "nodeType": "VariableDeclaration", - "scope": 2324, - "src": "1725:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1725:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2302, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1737:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2298, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2267, - "src": "1741:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1737:10:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 2300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1750:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1737:14:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1725:26:12" - }, - "loopExpression": { - "expression": { - "id": 2307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": true, - "src": "1760:3:12", - "subExpression": { - "id": 2306, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2296, - "src": "1762:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2308, - "nodeType": "ExpressionStatement", - "src": "1760:3:12" - }, - "nodeType": "ForStatement", - "src": "1720:128:12" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2326, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2265, - "src": "1865:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1874:1:12", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1865:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", - "id": 2329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1877:34:12", - "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": 2325, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1857:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1857:55:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2331, - "nodeType": "ExpressionStatement", - "src": "1857:55:12" - }, - { - "expression": { - "arguments": [ - { - "id": 2334, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2273, - "src": "1936:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1929:6:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2332, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1929:6:12", - "typeDescriptions": {} - } - }, - "id": 2335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1929:14:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 2271, - "id": 2336, - "nodeType": "Return", - "src": "1922:21:12" - } - ] - }, - "documentation": { - "id": 2263, - "nodeType": "StructuredDocumentation", - "src": "1396:112:12", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." - }, - "id": 2338, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1522:11:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2268, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2265, - "mutability": "mutable", - "name": "value", - "nameLocation": "1542:5:12", - "nodeType": "VariableDeclaration", - "scope": 2338, - "src": "1534:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1534:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2267, - "mutability": "mutable", - "name": "length", - "nameLocation": "1557:6:12", - "nodeType": "VariableDeclaration", - "scope": 2338, - "src": "1549:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1533:31:12" - }, - "returnParameters": { - "id": 2271, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2270, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2338, - "src": "1588:13:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2269, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1588:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1587:15:12" - }, - "scope": 2359, - "src": "1513:437:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2357, - "nodeType": "Block", - "src": "2175:76:12", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 2351, - "name": "addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2341, - "src": "2220:4:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2212:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 2349, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "2212:7:12", - "typeDescriptions": {} - } - }, - "id": 2352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2212:13:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 2348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2204:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2347, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2204:7:12", - "typeDescriptions": {} - } - }, - "id": 2353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2204:22:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2354, - "name": "_ADDRESS_LENGTH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2194, - "src": "2228:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 2346, - "name": "toHexString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2262, - 2338, - 2358 - ], - "referencedDeclaration": 2338, - "src": "2192:11:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 2355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2192:52:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 2345, - "id": 2356, - "nodeType": "Return", - "src": "2185:59:12" - } - ] - }, - "documentation": { - "id": 2339, - "nodeType": "StructuredDocumentation", - "src": "1956:141:12", - "text": " @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation." - }, - "id": 2358, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "2111:11:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2342, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2341, - "mutability": "mutable", - "name": "addr", - "nameLocation": "2131:4:12", - "nodeType": "VariableDeclaration", - "scope": 2358, - "src": "2123:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2340, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2123:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2122:14:12" - }, - "returnParameters": { - "id": 2345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2344, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2358, - "src": "2160:13:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2343, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2160:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2159:15:12" - }, - "scope": 2359, - "src": "2102:149:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 2360, - "src": "188:2065:12", - "usedErrors": [] - } - ], - "src": "101:2153:12" - }, - "id": 12 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 2383 - ], - "IERC165": [ - 2395 - ] - }, - "id": 2384, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2361, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "99:23:13" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 2362, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2384, - "sourceUnit": 2396, - "src": "124:23:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 2364, - "name": "IERC165", - "nameLocations": [ - "754:7:13" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2395, - "src": "754:7:13" - }, - "id": 2365, - "nodeType": "InheritanceSpecifier", - "src": "754:7:13" - } - ], - "canonicalName": "ERC165", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2363, - "nodeType": "StructuredDocumentation", - "src": "149:576:13", - "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": 2383, - "linearizedBaseContracts": [ - 2383, - 2395 - ], - "name": "ERC165", - "nameLocation": "744:6:13", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 2394 - ], - "body": { - "id": 2381, - "nodeType": "Block", - "src": "920:64:13", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2374, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2368, - "src": "937:11:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 2376, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2395, - "src": "957:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$2395_$", - "typeString": "type(contract IERC165)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165_$2395_$", - "typeString": "type(contract IERC165)" - } - ], - "id": 2375, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "952:4:13", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "952:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$2395", - "typeString": "type(contract IERC165)" - } - }, - "id": 2378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "966:11:13", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "952:25:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "937:40:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2373, - "id": 2380, - "nodeType": "Return", - "src": "930:47:13" - } - ] - }, - "documentation": { - "id": 2366, - "nodeType": "StructuredDocumentation", - "src": "768:56:13", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 2382, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "838:17:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2370, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "896:8:13" - }, - "parameters": { - "id": 2369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2368, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "863:11:13", - "nodeType": "VariableDeclaration", - "scope": 2382, - "src": "856:18:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2367, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "856:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "855:20:13" - }, - "returnParameters": { - "id": 2373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2372, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2382, - "src": "914:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2371, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "914:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "913:6:13" - }, - "scope": 2383, - "src": "829:155:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - } - ], - "scope": 2384, - "src": "726:260:13", - "usedErrors": [] - } - ], - "src": "99:888:13" - }, - "id": 13 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 2395 - ] - }, - "id": 2396, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2385, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "100:23:14" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC165", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 2386, - "nodeType": "StructuredDocumentation", - "src": "125:279:14", - "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": 2395, - "linearizedBaseContracts": [ - 2395 - ], - "name": "IERC165", - "nameLocation": "415:7:14", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 2387, - "nodeType": "StructuredDocumentation", - "src": "429:340:14", - "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": 2394, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "783:17:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2390, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2389, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "808:11:14", - "nodeType": "VariableDeclaration", - "scope": 2394, - "src": "801:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2388, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "801:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "800:20:14" - }, - "returnParameters": { - "id": 2393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2392, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2394, - "src": "844:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2391, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "844:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "843:6:14" - }, - "scope": 2395, - "src": "774:76:14", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 2396, - "src": "405:447:14", - "usedErrors": [] - } - ], - "src": "100:753:14" - }, - "id": 14 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol", - "exportedSymbols": { - "Math": [ - 3260 - ] - }, - "id": 3261, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2397, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "103:23:15" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Math", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 2398, - "nodeType": "StructuredDocumentation", - "src": "128:73:15", - "text": " @dev Standard math utilities missing in the Solidity language." - }, - "fullyImplemented": true, - "id": 3260, - "linearizedBaseContracts": [ - 3260 - ], - "name": "Math", - "nameLocation": "210:4:15", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Math.Rounding", - "id": 2402, - "members": [ - { - "id": 2399, - "name": "Down", - "nameLocation": "245:4:15", - "nodeType": "EnumValue", - "src": "245:4:15" - }, - { - "id": 2400, - "name": "Up", - "nameLocation": "287:2:15", - "nodeType": "EnumValue", - "src": "287:2:15" - }, - { - "id": 2401, - "name": "Zero", - "nameLocation": "318:4:15", - "nodeType": "EnumValue", - "src": "318:4:15" - } - ], - "name": "Rounding", - "nameLocation": "226:8:15", - "nodeType": "EnumDefinition", - "src": "221:122:15" - }, - { - "body": { - "id": 2419, - "nodeType": "Block", - "src": "480:37:15", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2412, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2405, - "src": "497:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 2413, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2407, - "src": "501:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "497:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 2416, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2407, - "src": "509:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "497:13:15", - "trueExpression": { - "id": 2415, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2405, - "src": "505:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2411, - "id": 2418, - "nodeType": "Return", - "src": "490:20:15" - } - ] - }, - "documentation": { - "id": 2403, - "nodeType": "StructuredDocumentation", - "src": "349:59:15", - "text": " @dev Returns the largest of two numbers." - }, - "id": 2420, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "max", - "nameLocation": "422:3:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2408, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2405, - "mutability": "mutable", - "name": "a", - "nameLocation": "434:1:15", - "nodeType": "VariableDeclaration", - "scope": 2420, - "src": "426:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2407, - "mutability": "mutable", - "name": "b", - "nameLocation": "445:1:15", - "nodeType": "VariableDeclaration", - "scope": 2420, - "src": "437:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "425:22:15" - }, - "returnParameters": { - "id": 2411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2410, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2420, - "src": "471:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "471:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "470:9:15" - }, - "scope": 3260, - "src": "413:104:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2437, - "nodeType": "Block", - "src": "655:37:15", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2430, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2423, - "src": "672:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 2431, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "676:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "672:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 2434, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2425, - "src": "684:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "672:13:15", - "trueExpression": { - "id": 2433, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2423, - "src": "680:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2429, - "id": 2436, - "nodeType": "Return", - "src": "665:20:15" - } - ] - }, - "documentation": { - "id": 2421, - "nodeType": "StructuredDocumentation", - "src": "523:60:15", - "text": " @dev Returns the smallest of two numbers." - }, - "id": 2438, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nameLocation": "597:3:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2423, - "mutability": "mutable", - "name": "a", - "nameLocation": "609:1:15", - "nodeType": "VariableDeclaration", - "scope": 2438, - "src": "601:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "601:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2425, - "mutability": "mutable", - "name": "b", - "nameLocation": "620:1:15", - "nodeType": "VariableDeclaration", - "scope": 2438, - "src": "612:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2424, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "612:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "600:22:15" - }, - "returnParameters": { - "id": 2429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2428, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2438, - "src": "646:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "646:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "645:9:15" - }, - "scope": 3260, - "src": "588:104:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2460, - "nodeType": "Block", - "src": "876:82:15", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2448, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "931:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "id": 2449, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2443, - "src": "935:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "931:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2451, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "930:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2452, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "941:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "id": 2453, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2443, - "src": "945:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "941:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2455, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "940:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "hexValue": "32", - "id": 2456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "950:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "940:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "930:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2447, - "id": 2459, - "nodeType": "Return", - "src": "923:28:15" - } - ] - }, - "documentation": { - "id": 2439, - "nodeType": "StructuredDocumentation", - "src": "698:102:15", - "text": " @dev Returns the average of two numbers. The result is rounded towards\n zero." - }, - "id": 2461, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "average", - "nameLocation": "814:7:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2444, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2441, - "mutability": "mutable", - "name": "a", - "nameLocation": "830:1:15", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "822:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2440, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "822:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2443, - "mutability": "mutable", - "name": "b", - "nameLocation": "841:1:15", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "833:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2442, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "833:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "821:22:15" - }, - "returnParameters": { - "id": 2447, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2446, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "867:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2445, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "867:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "866:9:15" - }, - "scope": 3260, - "src": "805:153:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2485, - "nodeType": "Block", - "src": "1228:123:15", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2471, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2464, - "src": "1316:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1321:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1316:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2475, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2464, - "src": "1330:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1334:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1330:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2478, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1329:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2479, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2466, - "src": "1339:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1329:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 2481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1343:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1329:15:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1316:28:15", - "trueExpression": { - "hexValue": "30", - "id": 2474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1325:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2470, - "id": 2484, - "nodeType": "Return", - "src": "1309:35:15" - } - ] - }, - "documentation": { - "id": 2462, - "nodeType": "StructuredDocumentation", - "src": "964:188:15", - "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": 2486, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ceilDiv", - "nameLocation": "1166:7:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2464, - "mutability": "mutable", - "name": "a", - "nameLocation": "1182:1:15", - "nodeType": "VariableDeclaration", - "scope": 2486, - "src": "1174:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1174:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2466, - "mutability": "mutable", - "name": "b", - "nameLocation": "1193:1:15", - "nodeType": "VariableDeclaration", - "scope": 2486, - "src": "1185:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1185:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1173:22:15" - }, - "returnParameters": { - "id": 2470, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2469, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2486, - "src": "1219:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1219:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1218:9:15" - }, - "scope": 3260, - "src": "1157:194:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2607, - "nodeType": "Block", - "src": "1795:3797:15", - "statements": [ - { - "id": 2606, - "nodeType": "UncheckedBlock", - "src": "1805:3781:15", - "statements": [ - { - "assignments": [ - 2499 - ], - "declarations": [ - { - "constant": false, - "id": 2499, - "mutability": "mutable", - "name": "prod0", - "nameLocation": "2134:5:15", - "nodeType": "VariableDeclaration", - "scope": 2606, - "src": "2126:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2498, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2126:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2500, - "nodeType": "VariableDeclarationStatement", - "src": "2126:13:15" - }, - { - "assignments": [ - 2502 - ], - "declarations": [ - { - "constant": false, - "id": 2502, - "mutability": "mutable", - "name": "prod1", - "nameLocation": "2206:5:15", - "nodeType": "VariableDeclaration", - "scope": 2606, - "src": "2198:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2198:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2503, - "nodeType": "VariableDeclarationStatement", - "src": "2198:13:15" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "2278:157:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2296:30:15", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2313:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2316:1:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2323:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2319:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2319:6:15" - } - ], - "functionName": { - "name": "mulmod", - "nodeType": "YulIdentifier", - "src": "2306:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "2306:20:15" - }, - "variables": [ - { - "name": "mm", - "nodeType": "YulTypedName", - "src": "2300:2:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2343:18:15", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2356:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2359:1:15" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2352:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2352:9:15" - }, - "variableNames": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "2343:5:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2378:43:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "mm", - "nodeType": "YulIdentifier", - "src": "2395:2:15" - }, - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "2399:5:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2391:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2391:14:15" - }, - { - "arguments": [ - { - "name": "mm", - "nodeType": "YulIdentifier", - "src": "2410:2:15" - }, - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "2414:5:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2407:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "2407:13:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2387:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "2387:34:15" - }, - "variableNames": [ - { - "name": "prod1", - "nodeType": "YulIdentifier", - "src": "2378:5:15" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 2499, - "isOffset": false, - "isSlot": false, - "src": "2343:5:15", - "valueSize": 1 - }, - { - "declaration": 2499, - "isOffset": false, - "isSlot": false, - "src": "2399:5:15", - "valueSize": 1 - }, - { - "declaration": 2499, - "isOffset": false, - "isSlot": false, - "src": "2414:5:15", - "valueSize": 1 - }, - { - "declaration": 2502, - "isOffset": false, - "isSlot": false, - "src": "2378:5:15", - "valueSize": 1 - }, - { - "declaration": 2489, - "isOffset": false, - "isSlot": false, - "src": "2313:1:15", - "valueSize": 1 - }, - { - "declaration": 2489, - "isOffset": false, - "isSlot": false, - "src": "2356:1:15", - "valueSize": 1 - }, - { - "declaration": 2491, - "isOffset": false, - "isSlot": false, - "src": "2316:1:15", - "valueSize": 1 - }, - { - "declaration": 2491, - "isOffset": false, - "isSlot": false, - "src": "2359:1:15", - "valueSize": 1 - } - ], - "id": 2504, - "nodeType": "InlineAssembly", - "src": "2269:166:15" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2505, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2502, - "src": "2516:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2525:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2516:10:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2513, - "nodeType": "IfStatement", - "src": "2512:75:15", - "trueBody": { - "id": 2512, - "nodeType": "Block", - "src": "2528:59:15", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2508, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2499, - "src": "2553:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2509, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "2561:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2553:19:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2497, - "id": 2511, - "nodeType": "Return", - "src": "2546:26:15" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2515, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "2697:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 2516, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2502, - "src": "2711:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2697:19:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2514, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2689:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2689:28:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2519, - "nodeType": "ExpressionStatement", - "src": "2689:28:15" - }, - { - "assignments": [ - 2521 - ], - "declarations": [ - { - "constant": false, - "id": 2521, - "mutability": "mutable", - "name": "remainder", - "nameLocation": "2981:9:15", - "nodeType": "VariableDeclaration", - "scope": 2606, - "src": "2973:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2520, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2973:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2522, - "nodeType": "VariableDeclarationStatement", - "src": "2973:17:15" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "3013:291:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3082:38:15", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3102:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3105:1:15" - }, - { - "name": "denominator", - "nodeType": "YulIdentifier", - "src": "3108:11:15" - } - ], - "functionName": { - "name": "mulmod", - "nodeType": "YulIdentifier", - "src": "3095:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "3095:25:15" - }, - "variableNames": [ - { - "name": "remainder", - "nodeType": "YulIdentifier", - "src": "3082:9:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3202:41:15", - "value": { - "arguments": [ - { - "name": "prod1", - "nodeType": "YulIdentifier", - "src": "3215:5:15" - }, - { - "arguments": [ - { - "name": "remainder", - "nodeType": "YulIdentifier", - "src": "3225:9:15" - }, - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3236:5:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3222:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "3222:20:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3211:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3211:32:15" - }, - "variableNames": [ - { - "name": "prod1", - "nodeType": "YulIdentifier", - "src": "3202:5:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3260:30:15", - "value": { - "arguments": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3273:5:15" - }, - { - "name": "remainder", - "nodeType": "YulIdentifier", - "src": "3280:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3269:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3269:21:15" - }, - "variableNames": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3260:5:15" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 2493, - "isOffset": false, - "isSlot": false, - "src": "3108:11:15", - "valueSize": 1 - }, - { - "declaration": 2499, - "isOffset": false, - "isSlot": false, - "src": "3236:5:15", - "valueSize": 1 - }, - { - "declaration": 2499, - "isOffset": false, - "isSlot": false, - "src": "3260:5:15", - "valueSize": 1 - }, - { - "declaration": 2499, - "isOffset": false, - "isSlot": false, - "src": "3273:5:15", - "valueSize": 1 - }, - { - "declaration": 2502, - "isOffset": false, - "isSlot": false, - "src": "3202:5:15", - "valueSize": 1 - }, - { - "declaration": 2502, - "isOffset": false, - "isSlot": false, - "src": "3215:5:15", - "valueSize": 1 - }, - { - "declaration": 2521, - "isOffset": false, - "isSlot": false, - "src": "3082:9:15", - "valueSize": 1 - }, - { - "declaration": 2521, - "isOffset": false, - "isSlot": false, - "src": "3225:9:15", - "valueSize": 1 - }, - { - "declaration": 2521, - "isOffset": false, - "isSlot": false, - "src": "3280:9:15", - "valueSize": 1 - }, - { - "declaration": 2489, - "isOffset": false, - "isSlot": false, - "src": "3102:1:15", - "valueSize": 1 - }, - { - "declaration": 2491, - "isOffset": false, - "isSlot": false, - "src": "3105:1:15", - "valueSize": 1 - } - ], - "id": 2523, - "nodeType": "InlineAssembly", - "src": "3004:300:15" - }, - { - "assignments": [ - 2525 - ], - "declarations": [ - { - "constant": false, - "id": 2525, - "mutability": "mutable", - "name": "twos", - "nameLocation": "3619:4:15", - "nodeType": "VariableDeclaration", - "scope": 2606, - "src": "3611:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2524, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3611:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2533, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2526, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "3626:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "~", - "prefix": true, - "src": "3641:12:15", - "subExpression": { - "id": 2527, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "3642:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 2529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3656:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3641:16:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2531, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3640:18:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3626:32:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3611:47:15" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "3681:362:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3746:37:15", - "value": { - "arguments": [ - { - "name": "denominator", - "nodeType": "YulIdentifier", - "src": "3765:11:15" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "3778:4:15" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "3761:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3761:22:15" - }, - "variableNames": [ - { - "name": "denominator", - "nodeType": "YulIdentifier", - "src": "3746:11:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3850:25:15", - "value": { - "arguments": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3863:5:15" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "3870:4:15" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "3859:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3859:16:15" - }, - "variableNames": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3850:5:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3990:39:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4010:1:15", - "type": "", - "value": "0" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "4013:4:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4006:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4006:12:15" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "4020:4:15" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4002:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "4002:23:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4027:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3998:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "3998:31:15" - }, - "variableNames": [ - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "3990:4:15" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 2493, - "isOffset": false, - "isSlot": false, - "src": "3746:11:15", - "valueSize": 1 - }, - { - "declaration": 2493, - "isOffset": false, - "isSlot": false, - "src": "3765:11:15", - "valueSize": 1 - }, - { - "declaration": 2499, - "isOffset": false, - "isSlot": false, - "src": "3850:5:15", - "valueSize": 1 - }, - { - "declaration": 2499, - "isOffset": false, - "isSlot": false, - "src": "3863:5:15", - "valueSize": 1 - }, - { - "declaration": 2525, - "isOffset": false, - "isSlot": false, - "src": "3778:4:15", - "valueSize": 1 - }, - { - "declaration": 2525, - "isOffset": false, - "isSlot": false, - "src": "3870:4:15", - "valueSize": 1 - }, - { - "declaration": 2525, - "isOffset": false, - "isSlot": false, - "src": "3990:4:15", - "valueSize": 1 - }, - { - "declaration": 2525, - "isOffset": false, - "isSlot": false, - "src": "4013:4:15", - "valueSize": 1 - }, - { - "declaration": 2525, - "isOffset": false, - "isSlot": false, - "src": "4020:4:15", - "valueSize": 1 - } - ], - "id": 2534, - "nodeType": "InlineAssembly", - "src": "3672:371:15" - }, - { - "expression": { - "id": 2539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2535, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2499, - "src": "4109:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "|=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2536, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2502, - "src": "4118:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2537, - "name": "twos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2525, - "src": "4126:4:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4118:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2540, - "nodeType": "ExpressionStatement", - "src": "4109:21:15" - }, - { - "assignments": [ - 2542 - ], - "declarations": [ - { - "constant": false, - "id": 2542, - "mutability": "mutable", - "name": "inverse", - "nameLocation": "4456:7:15", - "nodeType": "VariableDeclaration", - "scope": 2606, - "src": "4448:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4448:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2549, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "33", - "id": 2543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4467:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2544, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "4471:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4467:15:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2546, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4466:17:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "hexValue": "32", - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4486:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "4466:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4448:39:15" - }, - { - "expression": { - "id": 2556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2550, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "4704:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4715:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2552, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "4719:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2553, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "4733:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4719:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4715:25:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4704:36:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2557, - "nodeType": "ExpressionStatement", - "src": "4704:36:15" - }, - { - "expression": { - "id": 2564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2558, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "4773:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4784:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2560, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "4788:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2561, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "4802:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4788:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4784:25:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4773:36:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2565, - "nodeType": "ExpressionStatement", - "src": "4773:36:15" - }, - { - "expression": { - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2566, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "4843:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4854:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2568, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "4858:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2569, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "4872:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4858:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4854:25:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4843:36:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2573, - "nodeType": "ExpressionStatement", - "src": "4843:36:15" - }, - { - "expression": { - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2574, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "4913:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4924:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2576, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "4928:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2577, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "4942:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4928:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4924:25:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4913:36:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2581, - "nodeType": "ExpressionStatement", - "src": "4913:36:15" - }, - { - "expression": { - "id": 2588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2582, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "4983:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4994:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2584, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "4998:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2585, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "5012:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4998:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4994:25:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4983:36:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2589, - "nodeType": "ExpressionStatement", - "src": "4983:36:15" - }, - { - "expression": { - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2590, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "5054:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 2591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5065:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2592, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "5069:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2593, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "5083:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5069:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5065:25:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5054:36:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2597, - "nodeType": "ExpressionStatement", - "src": "5054:36:15" - }, - { - "expression": { - "id": 2602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2598, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2496, - "src": "5524:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2599, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2499, - "src": "5533:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2600, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "5541:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5533:15:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5524:24:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2603, - "nodeType": "ExpressionStatement", - "src": "5524:24:15" - }, - { - "expression": { - "id": 2604, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2496, - "src": "5569:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2497, - "id": 2605, - "nodeType": "Return", - "src": "5562:13:15" - } - ] - } - ] - }, - "documentation": { - "id": 2487, - "nodeType": "StructuredDocumentation", - "src": "1357:305:15", - "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": 2608, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mulDiv", - "nameLocation": "1676:6:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2489, - "mutability": "mutable", - "name": "x", - "nameLocation": "1700:1:15", - "nodeType": "VariableDeclaration", - "scope": 2608, - "src": "1692:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2488, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1692:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2491, - "mutability": "mutable", - "name": "y", - "nameLocation": "1719:1:15", - "nodeType": "VariableDeclaration", - "scope": 2608, - "src": "1711:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1711:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2493, - "mutability": "mutable", - "name": "denominator", - "nameLocation": "1738:11:15", - "nodeType": "VariableDeclaration", - "scope": 2608, - "src": "1730:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1730:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1682:73:15" - }, - "returnParameters": { - "id": 2497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2496, - "mutability": "mutable", - "name": "result", - "nameLocation": "1787:6:15", - "nodeType": "VariableDeclaration", - "scope": 2608, - "src": "1779:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1779:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1778:16:15" - }, - "scope": 3260, - "src": "1667:3925:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2651, - "nodeType": "Block", - "src": "5872:189:15", - "statements": [ - { - "assignments": [ - 2624 - ], - "declarations": [ - { - "constant": false, - "id": 2624, - "mutability": "mutable", - "name": "result", - "nameLocation": "5890:6:15", - "nodeType": "VariableDeclaration", - "scope": 2651, - "src": "5882:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5882:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2630, - "initialValue": { - "arguments": [ - { - "id": 2626, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "5906:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2627, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2613, - "src": "5909:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2628, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "5912:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2625, - "name": "mulDiv", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2608, - 2652 - ], - "referencedDeclaration": 2608, - "src": "5899:6:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 2629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5899:25:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5882:42:15" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - }, - "id": 2634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2631, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2618, - "src": "5938:8:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2632, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "5950:8:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$2402_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 2633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "5959:2:15", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 2400, - "src": "5950:11:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "src": "5938:23:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2636, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "5972:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2637, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2613, - "src": "5975:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2638, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "5978:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2635, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967280, - "src": "5965:6:15", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5965:25:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5993:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5965:29:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5938:56:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2648, - "nodeType": "IfStatement", - "src": "5934:98:15", - "trueBody": { - "id": 2647, - "nodeType": "Block", - "src": "5996:36:15", - "statements": [ - { - "expression": { - "id": 2645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2643, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "6010:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6020:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6010:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2646, - "nodeType": "ExpressionStatement", - "src": "6010:11:15" - } - ] - } - }, - { - "expression": { - "id": 2649, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "6048:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2622, - "id": 2650, - "nodeType": "Return", - "src": "6041:13:15" - } - ] - }, - "documentation": { - "id": 2609, - "nodeType": "StructuredDocumentation", - "src": "5598:121:15", - "text": " @notice Calculates x * y / denominator with full precision, following the selected rounding direction." - }, - "id": 2652, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mulDiv", - "nameLocation": "5733:6:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2619, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2611, - "mutability": "mutable", - "name": "x", - "nameLocation": "5757:1:15", - "nodeType": "VariableDeclaration", - "scope": 2652, - "src": "5749:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5749:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2613, - "mutability": "mutable", - "name": "y", - "nameLocation": "5776:1:15", - "nodeType": "VariableDeclaration", - "scope": 2652, - "src": "5768:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2612, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5768:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2615, - "mutability": "mutable", - "name": "denominator", - "nameLocation": "5795:11:15", - "nodeType": "VariableDeclaration", - "scope": 2652, - "src": "5787:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5787:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2618, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "5825:8:15", - "nodeType": "VariableDeclaration", - "scope": 2652, - "src": "5816:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 2617, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2616, - "name": "Rounding", - "nameLocations": [ - "5816:8:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2402, - "src": "5816:8:15" - }, - "referencedDeclaration": 2402, - "src": "5816:8:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "5739:100:15" - }, - "returnParameters": { - "id": 2622, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2621, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2652, - "src": "5863:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5863:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5862:9:15" - }, - "scope": 3260, - "src": "5724:337:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2763, - "nodeType": "Block", - "src": "6337:1585:15", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2660, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "6351:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6356:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6351:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2666, - "nodeType": "IfStatement", - "src": "6347:45:15", - "trueBody": { - "id": 2665, - "nodeType": "Block", - "src": "6359:33:15", - "statements": [ - { - "expression": { - "hexValue": "30", - "id": 2663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6380:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 2659, - "id": 2664, - "nodeType": "Return", - "src": "6373:8:15" - } - ] - } - }, - { - "assignments": [ - 2668 - ], - "declarations": [ - { - "constant": false, - "id": 2668, - "mutability": "mutable", - "name": "result", - "nameLocation": "7079:6:15", - "nodeType": "VariableDeclaration", - "scope": 2763, - "src": "7071:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7071:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2677, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7088:1:15", - "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": 2674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2671, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "7099:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2670, - "name": "log2", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2932, - 2968 - ], - "referencedDeclaration": 2932, - "src": "7094:4:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7094:7:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7105:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7094:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2675, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7093:14:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7088:19:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7071:36:15" - }, - { - "id": 2762, - "nodeType": "UncheckedBlock", - "src": "7508:408:15", - "statements": [ - { - "expression": { - "id": 2687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2678, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7532:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2679, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7542:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2680, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "7551:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2681, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7555:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7551:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7542:19:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2684, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7541:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7541:26:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7532:35:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2688, - "nodeType": "ExpressionStatement", - "src": "7532:35:15" - }, - { - "expression": { - "id": 2698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2689, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7581:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2690, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7591:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2691, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "7600:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2692, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7604:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7600:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7591:19:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2695, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7590:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7615:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7590:26:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7581:35:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2699, - "nodeType": "ExpressionStatement", - "src": "7581:35:15" - }, - { - "expression": { - "id": 2709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2700, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7630:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2701, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7640:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2702, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "7649:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2703, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7653:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7649:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7640:19:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2706, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7639:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7664:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7639:26:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7630:35:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2710, - "nodeType": "ExpressionStatement", - "src": "7630:35:15" - }, - { - "expression": { - "id": 2720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2711, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7679:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2712, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7689:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2713, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "7698:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2714, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7702:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7698:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7689:19:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2717, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7688:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7713:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7688:26:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7679:35:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2721, - "nodeType": "ExpressionStatement", - "src": "7679:35:15" - }, - { - "expression": { - "id": 2731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2722, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7728:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2723, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7738:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2724, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "7747:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2725, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7751:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7747:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7738:19:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2728, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7737:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7762:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7737:26:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7728:35:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2732, - "nodeType": "ExpressionStatement", - "src": "7728:35:15" - }, - { - "expression": { - "id": 2742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2733, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7777:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2734, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7787:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2735, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "7796:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2736, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7800:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7796:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7787:19:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2739, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7786:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2740, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7811:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7786:26:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7777:35:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2743, - "nodeType": "ExpressionStatement", - "src": "7777:35:15" - }, - { - "expression": { - "id": 2753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2744, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7826:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2745, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7836:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2746, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "7845:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2747, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7849:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7845:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7836:19:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2750, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7835:21:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7860:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7835:26:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7826:35:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2754, - "nodeType": "ExpressionStatement", - "src": "7826:35:15" - }, - { - "expression": { - "arguments": [ - { - "id": 2756, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7886:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2757, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2655, - "src": "7894:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 2758, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2668, - "src": "7898:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7894:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2755, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2438, - "src": "7882:3:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7882:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2659, - "id": 2761, - "nodeType": "Return", - "src": "7875:30:15" - } - ] - } - ] - }, - "documentation": { - "id": 2653, - "nodeType": "StructuredDocumentation", - "src": "6067:208:15", - "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": 2764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nameLocation": "6289:4:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2655, - "mutability": "mutable", - "name": "a", - "nameLocation": "6302:1:15", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "6294:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2654, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6294:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6293:11:15" - }, - "returnParameters": { - "id": 2659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2658, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "6328:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6328:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6327:9:15" - }, - "scope": 3260, - "src": "6280:1642:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2799, - "nodeType": "Block", - "src": "8098:161:15", - "statements": [ - { - "id": 2798, - "nodeType": "UncheckedBlock", - "src": "8108:145:15", - "statements": [ - { - "assignments": [ - 2776 - ], - "declarations": [ - { - "constant": false, - "id": 2776, - "mutability": "mutable", - "name": "result", - "nameLocation": "8140:6:15", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "8132:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8132:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2780, - "initialValue": { - "arguments": [ - { - "id": 2778, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "8154:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2777, - "name": "sqrt", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2764, - 2800 - ], - "referencedDeclaration": 2764, - "src": "8149:4:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8149:7:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8132:24:15" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2781, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2776, - "src": "8177:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - }, - "id": 2785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2782, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2770, - "src": "8187:8:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2783, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "8199:8:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$2402_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 2784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "8208:2:15", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 2400, - "src": "8199:11:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "src": "8187:23:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2786, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2776, - "src": "8214:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 2787, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2776, - "src": "8223:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8214:15:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 2789, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "8232:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8214:19:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8187:46:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 2793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8240:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 2794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8187:54:15", - "trueExpression": { - "hexValue": "31", - "id": 2792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8236:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 2795, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8186:56:15", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "8177:65:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2774, - "id": 2797, - "nodeType": "Return", - "src": "8170:72:15" - } - ] - } - ] - }, - "documentation": { - "id": 2765, - "nodeType": "StructuredDocumentation", - "src": "7928:89:15", - "text": " @notice Calculates sqrt(a), following the selected rounding direction." - }, - "id": 2800, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nameLocation": "8031:4:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2767, - "mutability": "mutable", - "name": "a", - "nameLocation": "8044:1:15", - "nodeType": "VariableDeclaration", - "scope": 2800, - "src": "8036:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2766, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8036:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2770, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "8056:8:15", - "nodeType": "VariableDeclaration", - "scope": 2800, - "src": "8047:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 2769, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2768, - "name": "Rounding", - "nameLocations": [ - "8047:8:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2402, - "src": "8047:8:15" - }, - "referencedDeclaration": 2402, - "src": "8047:8:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "8035:30:15" - }, - "returnParameters": { - "id": 2774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2773, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2800, - "src": "8089:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2772, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8089:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8088:9:15" - }, - "scope": 3260, - "src": "8022:237:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2931, - "nodeType": "Block", - "src": "8444:922:15", - "statements": [ - { - "assignments": [ - 2809 - ], - "declarations": [ - { - "constant": false, - "id": 2809, - "mutability": "mutable", - "name": "result", - "nameLocation": "8462:6:15", - "nodeType": "VariableDeclaration", - "scope": 2931, - "src": "8454:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8454:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2811, - "initialValue": { - "hexValue": "30", - "id": 2810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8471:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8454:18:15" - }, - { - "id": 2928, - "nodeType": "UncheckedBlock", - "src": "8482:855:15", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2812, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "8510:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8519:3:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "8510:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8525:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8510:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2826, - "nodeType": "IfStatement", - "src": "8506:99:15", - "trueBody": { - "id": 2825, - "nodeType": "Block", - "src": "8528:77:15", - "statements": [ - { - "expression": { - "id": 2819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2817, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "8546:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "313238", - "id": 2818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8556:3:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "8546:13:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2820, - "nodeType": "ExpressionStatement", - "src": "8546:13:15" - }, - { - "expression": { - "id": 2823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2821, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "8577:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "313238", - "id": 2822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8587:3:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "8577:13:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2824, - "nodeType": "ExpressionStatement", - "src": "8577:13:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2827, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "8622:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 2828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8631:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "8622:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2830, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8636:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:15:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2841, - "nodeType": "IfStatement", - "src": "8618:96:15", - "trueBody": { - "id": 2840, - "nodeType": "Block", - "src": "8639:75:15", - "statements": [ - { - "expression": { - "id": 2834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2832, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "8657:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3634", - "id": 2833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8667:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "8657:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2835, - "nodeType": "ExpressionStatement", - "src": "8657:12:15" - }, - { - "expression": { - "id": 2838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2836, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "8687:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3634", - "id": 2837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8697:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "8687:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2839, - "nodeType": "ExpressionStatement", - "src": "8687:12:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2842, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "8731:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3332", - "id": 2843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8740:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "8731:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2845, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8745:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8731:15:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2856, - "nodeType": "IfStatement", - "src": "8727:96:15", - "trueBody": { - "id": 2855, - "nodeType": "Block", - "src": "8748:75:15", - "statements": [ - { - "expression": { - "id": 2849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2847, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "8766:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3332", - "id": 2848, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8776:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "8766:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2850, - "nodeType": "ExpressionStatement", - "src": "8766:12:15" - }, - { - "expression": { - "id": 2853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2851, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "8796:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3332", - "id": 2852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8806:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "8796:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2854, - "nodeType": "ExpressionStatement", - "src": "8796:12:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2857, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "8840:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3136", - "id": 2858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8849:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "8840:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8854:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8840:15:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2871, - "nodeType": "IfStatement", - "src": "8836:96:15", - "trueBody": { - "id": 2870, - "nodeType": "Block", - "src": "8857:75:15", - "statements": [ - { - "expression": { - "id": 2864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2862, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "8875:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3136", - "id": 2863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8885:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "8875:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2865, - "nodeType": "ExpressionStatement", - "src": "8875:12:15" - }, - { - "expression": { - "id": 2868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2866, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "8905:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 2867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8915:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "8905:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2869, - "nodeType": "ExpressionStatement", - "src": "8905:12:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2872, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "8949:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "38", - "id": 2873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8958:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "8949:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8962:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8949:14:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2886, - "nodeType": "IfStatement", - "src": "8945:93:15", - "trueBody": { - "id": 2885, - "nodeType": "Block", - "src": "8965:73:15", - "statements": [ - { - "expression": { - "id": 2879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2877, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "8983:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "38", - "id": 2878, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8993:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "8983:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2880, - "nodeType": "ExpressionStatement", - "src": "8983:11:15" - }, - { - "expression": { - "id": 2883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2881, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "9012:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 2882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9022:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "9012:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2884, - "nodeType": "ExpressionStatement", - "src": "9012:11:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2887, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "9055:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "34", - "id": 2888, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9064:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9055:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9068:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9055:14:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2901, - "nodeType": "IfStatement", - "src": "9051:93:15", - "trueBody": { - "id": 2900, - "nodeType": "Block", - "src": "9071:73:15", - "statements": [ - { - "expression": { - "id": 2894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2892, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "9089:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "34", - "id": 2893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9099:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9089:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2895, - "nodeType": "ExpressionStatement", - "src": "9089:11:15" - }, - { - "expression": { - "id": 2898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2896, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "9118:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 2897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9128:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9118:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2899, - "nodeType": "ExpressionStatement", - "src": "9118:11:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2902, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "9161:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "32", - "id": 2903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9170:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9161:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9174:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9161:14:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2916, - "nodeType": "IfStatement", - "src": "9157:93:15", - "trueBody": { - "id": 2915, - "nodeType": "Block", - "src": "9177:73:15", - "statements": [ - { - "expression": { - "id": 2909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2907, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "9195:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "32", - "id": 2908, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9205:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9195:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2910, - "nodeType": "ExpressionStatement", - "src": "9195:11:15" - }, - { - "expression": { - "id": 2913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2911, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "9224:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 2912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9234:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9224:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2914, - "nodeType": "ExpressionStatement", - "src": "9224:11:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2917, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2803, - "src": "9267:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 2918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9276:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9267:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9280:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9267:14:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2927, - "nodeType": "IfStatement", - "src": "9263:64:15", - "trueBody": { - "id": 2926, - "nodeType": "Block", - "src": "9283:44:15", - "statements": [ - { - "expression": { - "id": 2924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2922, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "9301:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 2923, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9311:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9301:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2925, - "nodeType": "ExpressionStatement", - "src": "9301:11:15" - } - ] - } - } - ] - }, - { - "expression": { - "id": 2929, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2809, - "src": "9353:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2807, - "id": 2930, - "nodeType": "Return", - "src": "9346:13:15" - } - ] - }, - "documentation": { - "id": 2801, - "nodeType": "StructuredDocumentation", - "src": "8265:113:15", - "text": " @dev Return the log in base 2, rounded down, of a positive value.\n Returns 0 if given 0." - }, - "id": 2932, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log2", - "nameLocation": "8392:4:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2804, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2803, - "mutability": "mutable", - "name": "value", - "nameLocation": "8405:5:15", - "nodeType": "VariableDeclaration", - "scope": 2932, - "src": "8397:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8397:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8396:15:15" - }, - "returnParameters": { - "id": 2807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2806, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2932, - "src": "8435:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8435:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8434:9:15" - }, - "scope": 3260, - "src": "8383:983:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2967, - "nodeType": "Block", - "src": "9599:165:15", - "statements": [ - { - "id": 2966, - "nodeType": "UncheckedBlock", - "src": "9609:149:15", - "statements": [ - { - "assignments": [ - 2944 - ], - "declarations": [ - { - "constant": false, - "id": 2944, - "mutability": "mutable", - "name": "result", - "nameLocation": "9641:6:15", - "nodeType": "VariableDeclaration", - "scope": 2966, - "src": "9633:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9633:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2948, - "initialValue": { - "arguments": [ - { - "id": 2946, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2935, - "src": "9655:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2945, - "name": "log2", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2932, - 2968 - ], - "referencedDeclaration": 2932, - "src": "9650:4:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 2947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9650:11:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9633:28:15" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2949, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2944, - "src": "9682:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - }, - "id": 2953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2950, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2938, - "src": "9692:8:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2951, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "9704:8:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$2402_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 2952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9713:2:15", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 2400, - "src": "9704:11:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "src": "9692:23:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 2954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9719:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "id": 2955, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2944, - "src": "9724:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9719:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 2957, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2935, - "src": "9733:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9719:19:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9692:46:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 2961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9745:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 2962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "9692:54:15", - "trueExpression": { - "hexValue": "31", - "id": 2960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9741:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 2963, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9691:56:15", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "9682:65:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2942, - "id": 2965, - "nodeType": "Return", - "src": "9675:72:15" - } - ] - } - ] - }, - "documentation": { - "id": 2933, - "nodeType": "StructuredDocumentation", - "src": "9372:142:15", - "text": " @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 2968, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log2", - "nameLocation": "9528:4:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2935, - "mutability": "mutable", - "name": "value", - "nameLocation": "9541:5:15", - "nodeType": "VariableDeclaration", - "scope": 2968, - "src": "9533:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2934, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9533:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2938, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "9557:8:15", - "nodeType": "VariableDeclaration", - "scope": 2968, - "src": "9548:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 2937, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2936, - "name": "Rounding", - "nameLocations": [ - "9548:8:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2402, - "src": "9548:8:15" - }, - "referencedDeclaration": 2402, - "src": "9548:8:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "9532:34:15" - }, - "returnParameters": { - "id": 2942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2941, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2968, - "src": "9590:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9590:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9589:9:15" - }, - "scope": 3260, - "src": "9519:245:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3096, - "nodeType": "Block", - "src": "9951:828:15", - "statements": [ - { - "assignments": [ - 2977 - ], - "declarations": [ - { - "constant": false, - "id": 2977, - "mutability": "mutable", - "name": "result", - "nameLocation": "9969:6:15", - "nodeType": "VariableDeclaration", - "scope": 3096, - "src": "9961:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9961:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2979, - "initialValue": { - "hexValue": "30", - "id": 2978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9978:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9961:18:15" - }, - { - "id": 3093, - "nodeType": "UncheckedBlock", - "src": "9989:761:15", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2980, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10017:5:15", - "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": 2983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10026:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 2982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10030:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10026:6:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - } - }, - "src": "10017:15:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2996, - "nodeType": "IfStatement", - "src": "10013:99:15", - "trueBody": { - "id": 2995, - "nodeType": "Block", - "src": "10034:78:15", - "statements": [ - { - "expression": { - "id": 2989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2985, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10052:5:15", - "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": 2988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10061:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 2987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10065:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10061:6:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - } - }, - "src": "10052:15:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2990, - "nodeType": "ExpressionStatement", - "src": "10052:15:15" - }, - { - "expression": { - "id": 2993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2991, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "10085:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3634", - "id": 2992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10095:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10085:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2994, - "nodeType": "ExpressionStatement", - "src": "10085:12:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2997, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10129:5:15", - "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": 3000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 2998, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10138:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 2999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10142:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10138:6:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - } - }, - "src": "10129:15:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3013, - "nodeType": "IfStatement", - "src": "10125:99:15", - "trueBody": { - "id": 3012, - "nodeType": "Block", - "src": "10146:78:15", - "statements": [ - { - "expression": { - "id": 3006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3002, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10164:5:15", - "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": 3005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10173:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 3004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10177:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10173:6:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - } - }, - "src": "10164:15:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3007, - "nodeType": "ExpressionStatement", - "src": "10164:15:15" - }, - { - "expression": { - "id": 3010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3008, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "10197:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3332", - "id": 3009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10207:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10197:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3011, - "nodeType": "ExpressionStatement", - "src": "10197:12:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3014, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10241:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - }, - "id": 3017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10250:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3136", - "id": 3016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10254:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "10250:6:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - } - }, - "src": "10241:15:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3030, - "nodeType": "IfStatement", - "src": "10237:99:15", - "trueBody": { - "id": 3029, - "nodeType": "Block", - "src": "10258:78:15", - "statements": [ - { - "expression": { - "id": 3023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3019, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10276:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - }, - "id": 3022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10285:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3136", - "id": 3021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10289:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "10285:6:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - } - }, - "src": "10276:15:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3024, - "nodeType": "ExpressionStatement", - "src": "10276:15:15" - }, - { - "expression": { - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3025, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "10309:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 3026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10319:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "10309:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3028, - "nodeType": "ExpressionStatement", - "src": "10309:12:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3031, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10353:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10362:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "38", - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10366:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "10362:5:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - }, - "src": "10353:14:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3047, - "nodeType": "IfStatement", - "src": "10349:96:15", - "trueBody": { - "id": 3046, - "nodeType": "Block", - "src": "10369:76:15", - "statements": [ - { - "expression": { - "id": 3040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3036, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10387:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "id": 3039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10396:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "38", - "id": 3038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10400:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "10396:5:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - }, - "src": "10387:14:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3041, - "nodeType": "ExpressionStatement", - "src": "10387:14:15" - }, - { - "expression": { - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3042, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "10419:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 3043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10429:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "10419:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3045, - "nodeType": "ExpressionStatement", - "src": "10419:11:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3048, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10462:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 3051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3049, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10471:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 3050, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10475:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "10471:5:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "src": "10462:14:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3064, - "nodeType": "IfStatement", - "src": "10458:96:15", - "trueBody": { - "id": 3063, - "nodeType": "Block", - "src": "10478:76:15", - "statements": [ - { - "expression": { - "id": 3057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3053, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10496:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 3056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10505:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 3055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10509:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "10505:5:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "src": "10496:14:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3058, - "nodeType": "ExpressionStatement", - "src": "10496:14:15" - }, - { - "expression": { - "id": 3061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3059, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "10528:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10538:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "10528:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3062, - "nodeType": "ExpressionStatement", - "src": "10528:11:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3065, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10571:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10580:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "32", - "id": 3067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10584:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10580:5:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - }, - "src": "10571:14:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3081, - "nodeType": "IfStatement", - "src": "10567:96:15", - "trueBody": { - "id": 3080, - "nodeType": "Block", - "src": "10587:76:15", - "statements": [ - { - "expression": { - "id": 3074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3070, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10605:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "id": 3073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10614:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "32", - "id": 3072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10618:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10614:5:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - }, - "src": "10605:14:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3075, - "nodeType": "ExpressionStatement", - "src": "10605:14:15" - }, - { - "expression": { - "id": 3078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3076, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "10637:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 3077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10647:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10637:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3079, - "nodeType": "ExpressionStatement", - "src": "10637:11:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3082, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2971, - "src": "10680:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "id": 3085, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10689:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "31", - "id": 3084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10693:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10689:5:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - } - }, - "src": "10680:14:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3092, - "nodeType": "IfStatement", - "src": "10676:64:15", - "trueBody": { - "id": 3091, - "nodeType": "Block", - "src": "10696:44:15", - "statements": [ - { - "expression": { - "id": 3089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3087, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "10714:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 3088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10724:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10714:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3090, - "nodeType": "ExpressionStatement", - "src": "10714:11:15" - } - ] - } - } - ] - }, - { - "expression": { - "id": 3094, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "10766:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2975, - "id": 3095, - "nodeType": "Return", - "src": "10759:13:15" - } - ] - }, - "documentation": { - "id": 2969, - "nodeType": "StructuredDocumentation", - "src": "9770:114:15", - "text": " @dev Return the log in base 10, rounded down, of a positive value.\n Returns 0 if given 0." - }, - "id": 3097, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log10", - "nameLocation": "9898:5:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2971, - "mutability": "mutable", - "name": "value", - "nameLocation": "9912:5:15", - "nodeType": "VariableDeclaration", - "scope": 3097, - "src": "9904:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9904:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9903:15:15" - }, - "returnParameters": { - "id": 2975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2974, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3097, - "src": "9942:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9942:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9941:9:15" - }, - "scope": 3260, - "src": "9889:890:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3132, - "nodeType": "Block", - "src": "11014:165:15", - "statements": [ - { - "id": 3131, - "nodeType": "UncheckedBlock", - "src": "11024:149:15", - "statements": [ - { - "assignments": [ - 3109 - ], - "declarations": [ - { - "constant": false, - "id": 3109, - "mutability": "mutable", - "name": "result", - "nameLocation": "11056:6:15", - "nodeType": "VariableDeclaration", - "scope": 3131, - "src": "11048:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11048:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3113, - "initialValue": { - "arguments": [ - { - "id": 3111, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3100, - "src": "11071:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3110, - "name": "log10", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3097, - 3133 - ], - "referencedDeclaration": 3097, - "src": "11065:5:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 3112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11065:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11048:29:15" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3114, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "11098:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - }, - "id": 3118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3115, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3103, - "src": "11108:8:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 3116, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "11120:8:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$2402_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 3117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11129:2:15", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 2400, - "src": "11120:11:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "src": "11108:23:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11135:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 3120, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "11139:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11135:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3122, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3100, - "src": "11148:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11135:18:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11108:45:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 3126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11160:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 3127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "11108:53:15", - "trueExpression": { - "hexValue": "31", - "id": 3125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11156:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 3128, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11107:55:15", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "11098:64:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3107, - "id": 3130, - "nodeType": "Return", - "src": "11091:71:15" - } - ] - } - ] - }, - "documentation": { - "id": 3098, - "nodeType": "StructuredDocumentation", - "src": "10785:143:15", - "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 3133, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log10", - "nameLocation": "10942:5:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3104, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3100, - "mutability": "mutable", - "name": "value", - "nameLocation": "10956:5:15", - "nodeType": "VariableDeclaration", - "scope": 3133, - "src": "10948:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10948:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3103, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "10972:8:15", - "nodeType": "VariableDeclaration", - "scope": 3133, - "src": "10963:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 3102, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3101, - "name": "Rounding", - "nameLocations": [ - "10963:8:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2402, - "src": "10963:8:15" - }, - "referencedDeclaration": 2402, - "src": "10963:8:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "10947:34:15" - }, - "returnParameters": { - "id": 3107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3106, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3133, - "src": "11005:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11005:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11004:9:15" - }, - "scope": 3260, - "src": "10933:246:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3219, - "nodeType": "Block", - "src": "11493:600:15", - "statements": [ - { - "assignments": [ - 3142 - ], - "declarations": [ - { - "constant": false, - "id": 3142, - "mutability": "mutable", - "name": "result", - "nameLocation": "11511:6:15", - "nodeType": "VariableDeclaration", - "scope": 3219, - "src": "11503:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11503:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3144, - "initialValue": { - "hexValue": "30", - "id": 3143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11520:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11503:18:15" - }, - { - "id": 3216, - "nodeType": "UncheckedBlock", - "src": "11531:533:15", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3145, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3136, - "src": "11559:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 3146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11568:3:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "11559:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11574:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11559:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3159, - "nodeType": "IfStatement", - "src": "11555:98:15", - "trueBody": { - "id": 3158, - "nodeType": "Block", - "src": "11577:76:15", - "statements": [ - { - "expression": { - "id": 3152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3150, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3136, - "src": "11595:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "313238", - "id": 3151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11605:3:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "11595:13:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3153, - "nodeType": "ExpressionStatement", - "src": "11595:13:15" - }, - { - "expression": { - "id": 3156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3154, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3142, - "src": "11626:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 3155, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11636:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "11626:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3157, - "nodeType": "ExpressionStatement", - "src": "11626:12:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3160, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3136, - "src": "11670:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 3161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11679:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "11670:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11684:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11670:15:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3174, - "nodeType": "IfStatement", - "src": "11666:95:15", - "trueBody": { - "id": 3173, - "nodeType": "Block", - "src": "11687:74:15", - "statements": [ - { - "expression": { - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3165, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3136, - "src": "11705:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3634", - "id": 3166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11715:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "11705:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3168, - "nodeType": "ExpressionStatement", - "src": "11705:12:15" - }, - { - "expression": { - "id": 3171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3169, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3142, - "src": "11735:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11745:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "11735:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3172, - "nodeType": "ExpressionStatement", - "src": "11735:11:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3175, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3136, - "src": "11778:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3332", - "id": 3176, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11787:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "11778:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11792:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11778:15:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3189, - "nodeType": "IfStatement", - "src": "11774:95:15", - "trueBody": { - "id": 3188, - "nodeType": "Block", - "src": "11795:74:15", - "statements": [ - { - "expression": { - "id": 3182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3180, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3136, - "src": "11813:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3332", - "id": 3181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11823:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "11813:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3183, - "nodeType": "ExpressionStatement", - "src": "11813:12:15" - }, - { - "expression": { - "id": 3186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3184, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3142, - "src": "11843:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 3185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11853:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "11843:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3187, - "nodeType": "ExpressionStatement", - "src": "11843:11:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3190, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3136, - "src": "11886:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3136", - "id": 3191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11895:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "11886:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11900:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11886:15:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3204, - "nodeType": "IfStatement", - "src": "11882:95:15", - "trueBody": { - "id": 3203, - "nodeType": "Block", - "src": "11903:74:15", - "statements": [ - { - "expression": { - "id": 3197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3195, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3136, - "src": "11921:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3136", - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11931:2:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "11921:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3198, - "nodeType": "ExpressionStatement", - "src": "11921:12:15" - }, - { - "expression": { - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3199, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3142, - "src": "11951:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 3200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11961:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "11951:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3202, - "nodeType": "ExpressionStatement", - "src": "11951:11:15" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3205, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3136, - "src": "11994:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "38", - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12003:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "11994:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12007:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11994:14:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3215, - "nodeType": "IfStatement", - "src": "11990:64:15", - "trueBody": { - "id": 3214, - "nodeType": "Block", - "src": "12010:44:15", - "statements": [ - { - "expression": { - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3210, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3142, - "src": "12028:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 3211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12038:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12028:11:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3213, - "nodeType": "ExpressionStatement", - "src": "12028:11:15" - } - ] - } - } - ] - }, - { - "expression": { - "id": 3217, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3142, - "src": "12080:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3140, - "id": 3218, - "nodeType": "Return", - "src": "12073:13:15" - } - ] - }, - "documentation": { - "id": 3134, - "nodeType": "StructuredDocumentation", - "src": "11185:240:15", - "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": 3220, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log256", - "nameLocation": "11439:6:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3137, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3136, - "mutability": "mutable", - "name": "value", - "nameLocation": "11454:5:15", - "nodeType": "VariableDeclaration", - "scope": 3220, - "src": "11446:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11446:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11445:15:15" - }, - "returnParameters": { - "id": 3140, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3139, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3220, - "src": "11484:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11484:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11483:9:15" - }, - "scope": 3260, - "src": "11430:663:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3258, - "nodeType": "Block", - "src": "12329:173:15", - "statements": [ - { - "id": 3257, - "nodeType": "UncheckedBlock", - "src": "12339:157:15", - "statements": [ - { - "assignments": [ - 3232 - ], - "declarations": [ - { - "constant": false, - "id": 3232, - "mutability": "mutable", - "name": "result", - "nameLocation": "12371:6:15", - "nodeType": "VariableDeclaration", - "scope": 3257, - "src": "12363:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3231, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12363:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3236, - "initialValue": { - "arguments": [ - { - "id": 3234, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3223, - "src": "12387:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3233, - "name": "log256", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3220, - 3259 - ], - "referencedDeclaration": 3220, - "src": "12380:6:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 3235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12380:13:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12363:30:15" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3237, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "12414:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - }, - "id": 3241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3238, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3226, - "src": "12424:8:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 3239, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2402, - "src": "12436:8:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$2402_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "12445:2:15", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 2400, - "src": "12436:11:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "src": "12424:23:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 3242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12451:1:15", - "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": 3245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3243, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "12457:6:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "hexValue": "38", - "id": 3244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12466:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "12457:10:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3246, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12456:12:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12451:17:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3248, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3223, - "src": "12471:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12451:25:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12424:52:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 3252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12483:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "12424:60:15", - "trueExpression": { - "hexValue": "31", - "id": 3251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12479:1:15", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 3254, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12423:62:15", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "12414:71:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3230, - "id": 3256, - "nodeType": "Return", - "src": "12407:78:15" - } - ] - } - ] - }, - "documentation": { - "id": 3221, - "nodeType": "StructuredDocumentation", - "src": "12099:143:15", - "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 3259, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log256", - "nameLocation": "12256:6:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3227, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3223, - "mutability": "mutable", - "name": "value", - "nameLocation": "12271:5:15", - "nodeType": "VariableDeclaration", - "scope": 3259, - "src": "12263:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3222, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12263:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3226, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "12287:8:15", - "nodeType": "VariableDeclaration", - "scope": 3259, - "src": "12278:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 3225, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3224, - "name": "Rounding", - "nameLocations": [ - "12278:8:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2402, - "src": "12278:8:15" - }, - "referencedDeclaration": 2402, - "src": "12278:8:15", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$2402", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "12262:34:15" - }, - "returnParameters": { - "id": 3230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3229, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3259, - "src": "12320:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12320:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12319:9:15" - }, - "scope": 3260, - "src": "12247:255:15", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 3261, - "src": "202:12302:15", - "usedErrors": [] - } - ], - "src": "103:12402:15" - }, - "id": 15 - }, - "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol": { - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol", - "exportedSymbols": { - "Address": [ - 2088 - ], - "Context": [ - 2110 - ], - "Counters": [ - 2184 - ], - "ERC165": [ - 2383 - ], - "ERC721": [ - 1057 - ], - "ERC721Burnable": [ - 1221 - ], - "ERC721Enumerable": [ - 1575 - ], - "ERC721URIStorage": [ - 1700 - ], - "IERC165": [ - 2395 - ], - "IERC721": [ - 1173 - ], - "IERC721Enumerable": [ - 1731 - ], - "IERC721Metadata": [ - 1758 - ], - "IERC721Receiver": [ - 1191 - ], - "Math": [ - 3260 - ], - "Ownable": [ - 112 - ], - "Strings": [ - 2359 - ], - "ZeppelinContract": [ - 3405 - ] - }, - "id": 3406, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3262, - "literals": [ - "solidity", - "^", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "32:23:16" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "./@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 3263, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 1058, - "src": "57:59:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", - "file": "./@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", - "id": 3264, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 1576, - "src": "117:80:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "file": "./@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "id": 3265, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 1701, - "src": "198:80:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol", - "file": "./@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol", - "id": 3266, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 1222, - "src": "279:78:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/access/Ownable.sol", - "file": "./@openzeppelin/contracts/access/Ownable.sol", - "id": 3267, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 113, - "src": "358:54:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Counters.sol", - "file": "./@openzeppelin/contracts/utils/Counters.sol", - "id": 3268, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 2185, - "src": "413:54:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 3269, - "name": "ERC721", - "nameLocations": [ - "498:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "498:6:16" - }, - "id": 3270, - "nodeType": "InheritanceSpecifier", - "src": "498:6:16" - }, - { - "baseName": { - "id": 3271, - "name": "ERC721Enumerable", - "nameLocations": [ - "506:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1575, - "src": "506:16:16" - }, - "id": 3272, - "nodeType": "InheritanceSpecifier", - "src": "506:16:16" - }, - { - "baseName": { - "id": 3273, - "name": "ERC721URIStorage", - "nameLocations": [ - "524:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1700, - "src": "524:16:16" - }, - "id": 3274, - "nodeType": "InheritanceSpecifier", - "src": "524:16:16" - }, - { - "baseName": { - "id": 3275, - "name": "ERC721Burnable", - "nameLocations": [ - "542:14:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1221, - "src": "542:14:16" - }, - "id": 3276, - "nodeType": "InheritanceSpecifier", - "src": "542:14:16" - }, - { - "baseName": { - "id": 3277, - "name": "Ownable", - "nameLocations": [ - "558:7:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 112, - "src": "558:7:16" - }, - "id": 3278, - "nodeType": "InheritanceSpecifier", - "src": "558:7:16" - } - ], - "canonicalName": "ZeppelinContract", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 3405, - "linearizedBaseContracts": [ - 3405, - 112, - 1221, - 1700, - 1575, - 1731, - 1057, - 1758, - 1173, - 2383, - 2395, - 2110 - ], - "name": "ZeppelinContract", - "nameLocation": "478:16:16", - "nodeType": "ContractDefinition", - "nodes": [ - { - "global": false, - "id": 3282, - "libraryName": { - "id": 3279, - "name": "Counters", - "nameLocations": [ - "578:8:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2184, - "src": "578:8:16" - }, - "nodeType": "UsingForDirective", - "src": "572:36:16", - "typeName": { - "id": 3281, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3280, - "name": "Counters.Counter", - "nameLocations": [ - "591:8:16", - "600:7:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2116, - "src": "591:16:16" - }, - "referencedDeclaration": 2116, - "src": "591:16:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - { - "constant": false, - "id": 3285, - "mutability": "mutable", - "name": "_tokenIdCounter", - "nameLocation": "639:15:16", - "nodeType": "VariableDeclaration", - "scope": 3405, - "src": "614:40:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 3284, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3283, - "name": "Counters.Counter", - "nameLocations": [ - "614:8:16", - "623:7:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2116, - "src": "614:16:16" - }, - "referencedDeclaration": 2116, - "src": "614:16:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 3292, - "nodeType": "Block", - "src": "709:2:16", - "statements": [] - }, - "id": 3293, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "5a657070656c696e436f6e7472616374", - "id": 3288, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "682:18:16", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_541652d38c07eaaf399a3ec2e24f7d1c01df14153ba8b747dd6afaf2e9307d78", - "typeString": "literal_string \"ZeppelinContract\"" - }, - "value": "ZeppelinContract" - }, - { - "hexValue": "554e51", - "id": 3289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "702:5:16", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_adffbf6788a83836401c0b0dc8d2342f3137f759a438d0c490cc2913bd2a8b6a", - "typeString": "literal_string \"UNQ\"" - }, - "value": "UNQ" - } - ], - "id": 3290, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 3287, - "name": "ERC721", - "nameLocations": [ - "675:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "675:6:16" - }, - "nodeType": "ModifierInvocation", - "src": "675:33:16" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3286, - "nodeType": "ParameterList", - "parameters": [], - "src": "672:2:16" - }, - "returnParameters": { - "id": 3291, - "nodeType": "ParameterList", - "parameters": [], - "src": "709:0:16" - }, - "scope": 3405, - "src": "661:50:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 326 - ], - "body": { - "id": 3301, - "nodeType": "Block", - "src": "784:30:16", - "statements": [ - { - "expression": { - "hexValue": "74657374", - "id": 3299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "801:6:16", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658", - "typeString": "literal_string \"test\"" - }, - "value": "test" - }, - "functionReturnParameters": 3298, - "id": 3300, - "nodeType": "Return", - "src": "794:13:16" - } - ] - }, - "id": 3302, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseURI", - "nameLocation": "726:8:16", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3295, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "751:8:16" - }, - "parameters": { - "id": 3294, - "nodeType": "ParameterList", - "parameters": [], - "src": "734:2:16" - }, - "returnParameters": { - "id": 3298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3297, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3302, - "src": "769:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "769:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "768:15:16" - }, - "scope": 3405, - "src": "717:97:16", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3332, - "nodeType": "Block", - "src": "886:165:16", - "statements": [ - { - "assignments": [ - 3312 - ], - "declarations": [ - { - "constant": false, - "id": 3312, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "904:7:16", - "nodeType": "VariableDeclaration", - "scope": 3332, - "src": "896:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "896:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3316, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3313, - "name": "_tokenIdCounter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "914:15:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 3314, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "930:7:16", - "memberName": "current", - "nodeType": "MemberAccess", - "referencedDeclaration": 2128, - "src": "914:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$2116_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$2116_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" - } - }, - "id": 3315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "914:25:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "896:43:16" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3317, - "name": "_tokenIdCounter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "949:15:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 3319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "965:9:16", - "memberName": "increment", - "nodeType": "MemberAccess", - "referencedDeclaration": 2142, - "src": "949:25:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$2116_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$2116_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 3320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "949:27:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3321, - "nodeType": "ExpressionStatement", - "src": "949:27:16" - }, - { - "expression": { - "arguments": [ - { - "id": 3323, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3304, - "src": "996:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3324, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3312, - "src": "1000:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3322, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 607, - 636 - ], - "referencedDeclaration": 607, - "src": "986:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "986:22:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3326, - "nodeType": "ExpressionStatement", - "src": "986:22:16" - }, - { - "expression": { - "arguments": [ - { - "id": 3328, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3312, - "src": "1031:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3329, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3306, - "src": "1040:3:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3327, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1669, - "src": "1018:12:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1018:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3331, - "nodeType": "ExpressionStatement", - "src": "1018:26:16" - } - ] - }, - "functionSelector": "d204c45e", - "id": 3333, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3309, - "kind": "modifierInvocation", - "modifierName": { - "id": 3308, - "name": "onlyOwner", - "nameLocations": [ - "876:9:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 31, - "src": "876:9:16" - }, - "nodeType": "ModifierInvocation", - "src": "876:9:16" - } - ], - "name": "safeMint", - "nameLocation": "829:8:16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3304, - "mutability": "mutable", - "name": "to", - "nameLocation": "846:2:16", - "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "838:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3303, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "838:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3306, - "mutability": "mutable", - "name": "uri", - "nameLocation": "864:3:16", - "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "850:17:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3305, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "850:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "837:31:16" - }, - "returnParameters": { - "id": 3310, - "nodeType": "ParameterList", - "parameters": [], - "src": "886:0:16" - }, - "scope": 3405, - "src": "820:231:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 1043, - 1413 - ], - "body": { - "id": 3356, - "nodeType": "Block", - "src": "1281:73:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3350, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "1318:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3351, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3337, - "src": "1324:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3352, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3339, - "src": "1328:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3353, - "name": "batchSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "1337:9:16", - "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": 3347, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1291:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ZeppelinContract_$3405_$", - "typeString": "type(contract super ZeppelinContract)" - } - }, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1297:20:16", - "memberName": "_beforeTokenTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1413, - "src": "1291:26:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 3354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1291:56:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3355, - "nodeType": "ExpressionStatement", - "src": "1291:56:16" - } - ] - }, - "id": 3357, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "1134:20:16", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3345, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 3343, - "name": "ERC721", - "nameLocations": [ - "1251:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "1251:6:16" - }, - { - "id": 3344, - "name": "ERC721Enumerable", - "nameLocations": [ - "1259:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1575, - "src": "1259:16:16" - } - ], - "src": "1242:34:16" - }, - "parameters": { - "id": 3342, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3335, - "mutability": "mutable", - "name": "from", - "nameLocation": "1163:4:16", - "nodeType": "VariableDeclaration", - "scope": 3357, - "src": "1155:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1155:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3337, - "mutability": "mutable", - "name": "to", - "nameLocation": "1177:2:16", - "nodeType": "VariableDeclaration", - "scope": 3357, - "src": "1169:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3336, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1169:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3339, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1189:7:16", - "nodeType": "VariableDeclaration", - "scope": 3357, - "src": "1181:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1181:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3341, - "mutability": "mutable", - "name": "batchSize", - "nameLocation": "1206:9:16", - "nodeType": "VariableDeclaration", - "scope": 3357, - "src": "1198:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1154:62:16" - }, - "returnParameters": { - "id": 3346, - "nodeType": "ParameterList", - "parameters": [], - "src": "1281:0:16" - }, - "scope": 3405, - "src": "1125:229:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 780, - 1699 - ], - "body": { - "id": 3371, - "nodeType": "Block", - "src": "1436:37:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3368, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "1458:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3365, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1446:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ZeppelinContract_$3405_$", - "typeString": "type(contract super ZeppelinContract)" - } - }, - "id": 3367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1452:5:16", - "memberName": "_burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1699, - "src": "1446:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1446:20:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3370, - "nodeType": "ExpressionStatement", - "src": "1446:20:16" - } - ] - }, - "id": 3372, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "1369:5:16", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3363, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 3361, - "name": "ERC721", - "nameLocations": [ - "1410:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "1410:6:16" - }, - { - "id": 3362, - "name": "ERC721URIStorage", - "nameLocations": [ - "1418:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1700, - "src": "1418:16:16" - } - ], - "src": "1401:34:16" - }, - "parameters": { - "id": 3360, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3359, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1383:7:16", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "1375:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1375:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1374:17:16" - }, - "returnParameters": { - "id": 3364, - "nodeType": "ParameterList", - "parameters": [], - "src": "1436:0:16" - }, - "scope": 3405, - "src": "1360:113:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 317, - 1647 - ], - "body": { - "id": 3387, - "nodeType": "Block", - "src": "1621:47:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3384, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "1653:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3382, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1638:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ZeppelinContract_$3405_$", - "typeString": "type(contract super ZeppelinContract)" - } - }, - "id": 3383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1644:8:16", - "memberName": "tokenURI", - "nodeType": "MemberAccess", - "referencedDeclaration": 1647, - "src": "1638:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view returns (string memory)" - } - }, - "id": 3385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1638:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 3381, - "id": 3386, - "nodeType": "Return", - "src": "1631:30:16" - } - ] - }, - "functionSelector": "c87b56dd", - "id": 3388, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "1488:8:16", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3378, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 3376, - "name": "ERC721", - "nameLocations": [ - "1559:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "1559:6:16" - }, - { - "id": 3377, - "name": "ERC721URIStorage", - "nameLocations": [ - "1567:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1700, - "src": "1567:16:16" - } - ], - "src": "1550:34:16" - }, - "parameters": { - "id": 3375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3374, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1505:7:16", - "nodeType": "VariableDeclaration", - "scope": 3388, - "src": "1497:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1497:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1496:17:16" - }, - "returnParameters": { - "id": 3381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3380, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3388, - "src": "1602:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3379, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1602:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1601:15:16" - }, - "scope": 3405, - "src": "1479:189:16", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 206, - 1271 - ], - "body": { - "id": 3403, - "nodeType": "Block", - "src": "1819:60:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3400, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3390, - "src": "1860:11:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 3398, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1836:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ZeppelinContract_$3405_$", - "typeString": "type(contract super ZeppelinContract)" - } - }, - "id": 3399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1842:17:16", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 1271, - "src": "1836:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 3401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1836:36:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3397, - "id": 3402, - "nodeType": "Return", - "src": "1829:43:16" - } - ] - }, - "functionSelector": "01ffc9a7", - "id": 3404, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "1683:17:16", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3394, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 3392, - "name": "ERC721", - "nameLocations": [ - "1766:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "1766:6:16" - }, - { - "id": 3393, - "name": "ERC721Enumerable", - "nameLocations": [ - "1774:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1575, - "src": "1774:16:16" - } - ], - "src": "1757:34:16" - }, - "parameters": { - "id": 3391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3390, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "1708:11:16", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "1701:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3389, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1701:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1700:20:16" - }, - "returnParameters": { - "id": 3397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3396, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "1809:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3395, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1809:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1808:6:16" - }, - "scope": 3405, - "src": "1674:205:16", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3406, - "src": "469:1412:16", - "usedErrors": [] - } - ], - "src": "32:1850:16" - }, - "id": 16 - } - } -} \ No newline at end of file --- a/tests/src/benchmarks/mintFee/openZeppelin/bin/ZeppelinContract.json +++ /dev/null @@ -1,2274 +0,0 @@ -{ - "contractName": "ZeppelinContract", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "burn", - "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": "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": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "name": "safeMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"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\":\"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\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"safeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol\":\"ZeppelinContract\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x5c3501c1b70fcfc64417e9da5cc6a3597191baa354781e508e1e14cc0e50a038\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://899c87a849a94c848818d0afede6961d2c87665af1dd23a5c983e78981a65691\",\"dweb:/ipfs/QmUeFDffQRDmX87FX3MRxN3bmpUxDTWpWLwPJzeAJ3yF6H\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol\":{\"keccak256\":\"0xba32bca6efb010353d9ed4628d199992deb1a1ba3957432c3844cfe3341c51ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76fbb854bace904c746fa053de39dd51b1c480be80357c76a0e6a6cee28e47d4\",\"dweb:/ipfs/QmVJ4ZYaskCdgQq4AFwMbS7dRYBLGoJn5g5LyPLAMhSTwr\"]}},\"version\":1}", - "bytecode": "60806040523480156200001157600080fd5b506040518060400160405280601081526020016f16995c1c195b1a5b90dbdb9d1c9858dd60821b81525060405180604001604052806003815260200162554e5160e81b815250816000908162000068919062000195565b50600162000077828262000195565b505050620000946200008e6200009a60201b60201c565b6200009e565b62000261565b3390565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200011b57607f821691505b6020821081036200013c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200019057600081815260208120601f850160051c810160208610156200016b5750805b601f850160051c820191505b818110156200018c5782815560010162000177565b5050505b505050565b81516001600160401b03811115620001b157620001b1620000f0565b620001c981620001c2845462000106565b8462000142565b602080601f831160018114620002015760008415620001e85750858301515b600019600386901b1c1916600185901b1785556200018c565b600085815260208120601f198616915b82811015620002325788860151825594840194600190910190840162000211565b5085821015620002515787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611f0d80620002716000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80636352211e116100b8578063a22cb4651161007c578063a22cb46514610271578063b88d4fde14610284578063c87b56dd14610297578063d204c45e146102aa578063e985e9c5146102bd578063f2fde38b146102f957600080fd5b80636352211e1461022a57806370a082311461023d578063715018a6146102505780638da5cb5b1461025857806395d89b411461026957600080fd5b806323b872dd116100ff57806323b872dd146101cb5780632f745c59146101de57806342842e0e146101f157806342966c68146102045780634f6ccce71461021757600080fd5b806301ffc9a71461013c57806306fdde0314610164578063081812fc14610179578063095ea7b3146101a457806318160ddd146101b9575b600080fd5b61014f61014a3660046118ab565b61030c565b60405190151581526020015b60405180910390f35b61016c61031d565b60405161015b9190611918565b61018c61018736600461192b565b6103af565b6040516001600160a01b03909116815260200161015b565b6101b76101b2366004611960565b6103d6565b005b6008545b60405190815260200161015b565b6101b76101d936600461198a565b6104f0565b6101bd6101ec366004611960565b610522565b6101b76101ff36600461198a565b6105b8565b6101b761021236600461192b565b6105d3565b6101bd61022536600461192b565b610604565b61018c61023836600461192b565b610697565b6101bd61024b3660046119c6565b6106f7565b6101b761077d565b600b546001600160a01b031661018c565b61016c610791565b6101b761027f3660046119e1565b6107a0565b6101b7610292366004611aa9565b6107af565b61016c6102a536600461192b565b6107e7565b6101b76102b8366004611b25565b6107f2565b61014f6102cb366004611b87565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101b76103073660046119c6565b610829565b60006103178261089f565b92915050565b60606000805461032c90611bba565b80601f016020809104026020016040519081016040528092919081815260200182805461035890611bba565b80156103a55780601f1061037a576101008083540402835291602001916103a5565b820191906000526020600020905b81548152906001019060200180831161038857829003601f168201915b5050505050905090565b60006103ba826108c4565b506000908152600460205260409020546001600160a01b031690565b60006103e182610697565b9050806001600160a01b0316836001600160a01b0316036104535760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061046f575061046f81336102cb565b6104e15760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161044a565b6104eb8383610923565b505050565b6104fb335b82610991565b6105175760405162461bcd60e51b815260040161044a90611bf4565b6104eb838383610a10565b600061052d836106f7565b821061058f5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161044a565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6104eb838383604051806020016040528060008152506107af565b6105dc336104f5565b6105f85760405162461bcd60e51b815260040161044a90611bf4565b61060181610b81565b50565b600061060f60085490565b82106106725760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161044a565b6008828154811061068557610685611c41565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806103175760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044a565b60006001600160a01b0382166107615760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161044a565b506001600160a01b031660009081526003602052604090205490565b610785610b8a565b61078f6000610be4565b565b60606001805461032c90611bba565b6107ab338383610c36565b5050565b6107b93383610991565b6107d55760405162461bcd60e51b815260040161044a90611bf4565b6107e184848484610d04565b50505050565b606061031782610d37565b6107fa610b8a565b6000610805600c5490565b9050610815600c80546001019055565b61081f8382610e4b565b6104eb8183610e65565b610831610b8a565b6001600160a01b0381166108965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044a565b61060181610be4565b60006001600160e01b0319821663780e9d6360e01b1480610317575061031782610ef8565b6000818152600260205260409020546001600160a01b03166106015760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044a565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061095882610697565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061099d83610697565b9050806001600160a01b0316846001600160a01b031614806109e457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610a085750836001600160a01b03166109fd846103af565b6001600160a01b0316145b949350505050565b826001600160a01b0316610a2382610697565b6001600160a01b031614610a495760405162461bcd60e51b815260040161044a90611c57565b6001600160a01b038216610aab5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161044a565b610ab88383836001610f48565b826001600160a01b0316610acb82610697565b6001600160a01b031614610af15760405162461bcd60e51b815260040161044a90611c57565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61060181610f54565b600b546001600160a01b0316331461078f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044a565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603610c975760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161044a565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610d0f848484610a10565b610d1b84848484610f94565b6107e15760405162461bcd60e51b815260040161044a90611c9c565b6060610d42826108c4565b6000828152600a602052604081208054610d5b90611bba565b80601f0160208091040260200160405190810160405280929190818152602001828054610d8790611bba565b8015610dd45780601f10610da957610100808354040283529160200191610dd4565b820191906000526020600020905b815481529060010190602001808311610db757829003601f168201915b505050505090506000610dfe6040805180820190915260048152631d195cdd60e21b602082015290565b90508051600003610e10575092915050565b815115610e42578082604051602001610e2a929190611cee565b60405160208183030381529060405292505050919050565b610a0884611095565b6107ab828260405180602001604052806000815250611115565b6000828152600260205260409020546001600160a01b0316610ee05760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161044a565b6000828152600a602052604090206104eb8282611d6b565b60006001600160e01b031982166380ac58cd60e01b1480610f2957506001600160e01b03198216635b5e139f60e01b145b8061031757506301ffc9a760e01b6001600160e01b0319831614610317565b6107e184848484611148565b610f5d81611288565b6000818152600a602052604090208054610f7690611bba565b159050610601576000818152600a6020526040812061060191611847565b60006001600160a01b0384163b1561108a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610fd8903390899088908890600401611e2b565b6020604051808303816000875af1925050508015611013575060408051601f3d908101601f1916820190925261101091810190611e68565b60015b611070573d808015611041576040519150601f19603f3d011682016040523d82523d6000602084013e611046565b606091505b5080516000036110685760405162461bcd60e51b815260040161044a90611c9c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610a08565b506001949350505050565b60606110a0826108c4565b60006110c36040805180820190915260048152631d195cdd60e21b602082015290565b905060008151116110e3576040518060200160405280600081525061110e565b806110ed8461132b565b6040516020016110fe929190611cee565b6040516020818303038152906040525b9392505050565b61111f83836113be565b61112c6000848484610f94565b6104eb5760405162461bcd60e51b815260040161044a90611c9c565b61115484848484611557565b60018111156111c35760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b606482015260840161044a565b816001600160a01b03851661121f5761121a81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611242565b836001600160a01b0316856001600160a01b0316146112425761124285826115df565b6001600160a01b03841661125e576112598161167c565b611281565b846001600160a01b0316846001600160a01b03161461128157611281848261172b565b5050505050565b600061129382610697565b90506112a3816000846001610f48565b6112ac82610697565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006113388361176f565b600101905060008167ffffffffffffffff81111561135857611358611a1d565b6040519080825280601f01601f191660200182016040528015611382576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461138c57509392505050565b6001600160a01b0382166114145760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161044a565b6000818152600260205260409020546001600160a01b0316156114795760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044a565b611487600083836001610f48565b6000818152600260205260409020546001600160a01b0316156114ec5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044a565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60018111156107e1576001600160a01b0384161561159d576001600160a01b03841660009081526003602052604081208054839290611597908490611e9b565b90915550505b6001600160a01b038316156107e1576001600160a01b038316600090815260036020526040812080548392906115d4908490611eae565b909155505050505050565b600060016115ec846106f7565b6115f69190611e9b565b600083815260076020526040902054909150808214611649576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061168e90600190611e9b565b600083815260096020526040812054600880549394509092849081106116b6576116b6611c41565b9060005260206000200154905080600883815481106116d7576116d7611c41565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061170f5761170f611ec1565b6001900381819060005260206000200160009055905550505050565b6000611736836106f7565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117ae5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106117da576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106117f857662386f26fc10000830492506010015b6305f5e1008310611810576305f5e100830492506008015b612710831061182457612710830492506004015b60648310611836576064830492506002015b600a83106103175760010192915050565b50805461185390611bba565b6000825580601f10611863575050565b601f01602090049060005260206000209081019061060191905b80821115611891576000815560010161187d565b5090565b6001600160e01b03198116811461060157600080fd5b6000602082840312156118bd57600080fd5b813561110e81611895565b60005b838110156118e35781810151838201526020016118cb565b50506000910152565b600081518084526119048160208601602086016118c8565b601f01601f19169290920160200192915050565b60208152600061110e60208301846118ec565b60006020828403121561193d57600080fd5b5035919050565b80356001600160a01b038116811461195b57600080fd5b919050565b6000806040838503121561197357600080fd5b61197c83611944565b946020939093013593505050565b60008060006060848603121561199f57600080fd5b6119a884611944565b92506119b660208501611944565b9150604084013590509250925092565b6000602082840312156119d857600080fd5b61110e82611944565b600080604083850312156119f457600080fd5b6119fd83611944565b915060208301358015158114611a1257600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611a4e57611a4e611a1d565b604051601f8501601f19908116603f01168101908282118183101715611a7657611a76611a1d565b81604052809350858152868686011115611a8f57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215611abf57600080fd5b611ac885611944565b9350611ad660208601611944565b925060408501359150606085013567ffffffffffffffff811115611af957600080fd5b8501601f81018713611b0a57600080fd5b611b1987823560208401611a33565b91505092959194509250565b60008060408385031215611b3857600080fd5b611b4183611944565b9150602083013567ffffffffffffffff811115611b5d57600080fd5b8301601f81018513611b6e57600080fd5b611b7d85823560208401611a33565b9150509250929050565b60008060408385031215611b9a57600080fd5b611ba383611944565b9150611bb160208401611944565b90509250929050565b600181811c90821680611bce57607f821691505b602082108103611bee57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611d008184602088016118c8565b835190830190611d148183602088016118c8565b01949350505050565b601f8211156104eb57600081815260208120601f850160051c81016020861015611d445750805b601f850160051c820191505b81811015611d6357828155600101611d50565b505050505050565b815167ffffffffffffffff811115611d8557611d85611a1d565b611d9981611d938454611bba565b84611d1d565b602080601f831160018114611dce5760008415611db65750858301515b600019600386901b1c1916600185901b178555611d63565b600085815260208120601f198616915b82811015611dfd57888601518255948401946001909101908401611dde565b5085821015611e1b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611e5e908301846118ec565b9695505050505050565b600060208284031215611e7a57600080fd5b815161110e81611895565b634e487b7160e01b600052601160045260246000fd5b8181038181111561031757610317611e85565b8082018082111561031757610317611e85565b634e487b7160e01b600052603160045260246000fdfea26469706673582212207960bc65d7484ab1502ccdc352c91f0fb91535a525cf99e1b6392e242548279a64736f6c63430008110033", - "deployedBytecode": "608060405234801561001057600080fd5b50600436106101375760003560e01c80636352211e116100b8578063a22cb4651161007c578063a22cb46514610271578063b88d4fde14610284578063c87b56dd14610297578063d204c45e146102aa578063e985e9c5146102bd578063f2fde38b146102f957600080fd5b80636352211e1461022a57806370a082311461023d578063715018a6146102505780638da5cb5b1461025857806395d89b411461026957600080fd5b806323b872dd116100ff57806323b872dd146101cb5780632f745c59146101de57806342842e0e146101f157806342966c68146102045780634f6ccce71461021757600080fd5b806301ffc9a71461013c57806306fdde0314610164578063081812fc14610179578063095ea7b3146101a457806318160ddd146101b9575b600080fd5b61014f61014a3660046118ab565b61030c565b60405190151581526020015b60405180910390f35b61016c61031d565b60405161015b9190611918565b61018c61018736600461192b565b6103af565b6040516001600160a01b03909116815260200161015b565b6101b76101b2366004611960565b6103d6565b005b6008545b60405190815260200161015b565b6101b76101d936600461198a565b6104f0565b6101bd6101ec366004611960565b610522565b6101b76101ff36600461198a565b6105b8565b6101b761021236600461192b565b6105d3565b6101bd61022536600461192b565b610604565b61018c61023836600461192b565b610697565b6101bd61024b3660046119c6565b6106f7565b6101b761077d565b600b546001600160a01b031661018c565b61016c610791565b6101b761027f3660046119e1565b6107a0565b6101b7610292366004611aa9565b6107af565b61016c6102a536600461192b565b6107e7565b6101b76102b8366004611b25565b6107f2565b61014f6102cb366004611b87565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101b76103073660046119c6565b610829565b60006103178261089f565b92915050565b60606000805461032c90611bba565b80601f016020809104026020016040519081016040528092919081815260200182805461035890611bba565b80156103a55780601f1061037a576101008083540402835291602001916103a5565b820191906000526020600020905b81548152906001019060200180831161038857829003601f168201915b5050505050905090565b60006103ba826108c4565b506000908152600460205260409020546001600160a01b031690565b60006103e182610697565b9050806001600160a01b0316836001600160a01b0316036104535760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061046f575061046f81336102cb565b6104e15760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161044a565b6104eb8383610923565b505050565b6104fb335b82610991565b6105175760405162461bcd60e51b815260040161044a90611bf4565b6104eb838383610a10565b600061052d836106f7565b821061058f5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161044a565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6104eb838383604051806020016040528060008152506107af565b6105dc336104f5565b6105f85760405162461bcd60e51b815260040161044a90611bf4565b61060181610b81565b50565b600061060f60085490565b82106106725760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161044a565b6008828154811061068557610685611c41565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806103175760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044a565b60006001600160a01b0382166107615760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161044a565b506001600160a01b031660009081526003602052604090205490565b610785610b8a565b61078f6000610be4565b565b60606001805461032c90611bba565b6107ab338383610c36565b5050565b6107b93383610991565b6107d55760405162461bcd60e51b815260040161044a90611bf4565b6107e184848484610d04565b50505050565b606061031782610d37565b6107fa610b8a565b6000610805600c5490565b9050610815600c80546001019055565b61081f8382610e4b565b6104eb8183610e65565b610831610b8a565b6001600160a01b0381166108965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044a565b61060181610be4565b60006001600160e01b0319821663780e9d6360e01b1480610317575061031782610ef8565b6000818152600260205260409020546001600160a01b03166106015760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044a565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061095882610697565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061099d83610697565b9050806001600160a01b0316846001600160a01b031614806109e457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610a085750836001600160a01b03166109fd846103af565b6001600160a01b0316145b949350505050565b826001600160a01b0316610a2382610697565b6001600160a01b031614610a495760405162461bcd60e51b815260040161044a90611c57565b6001600160a01b038216610aab5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161044a565b610ab88383836001610f48565b826001600160a01b0316610acb82610697565b6001600160a01b031614610af15760405162461bcd60e51b815260040161044a90611c57565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61060181610f54565b600b546001600160a01b0316331461078f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044a565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603610c975760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161044a565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610d0f848484610a10565b610d1b84848484610f94565b6107e15760405162461bcd60e51b815260040161044a90611c9c565b6060610d42826108c4565b6000828152600a602052604081208054610d5b90611bba565b80601f0160208091040260200160405190810160405280929190818152602001828054610d8790611bba565b8015610dd45780601f10610da957610100808354040283529160200191610dd4565b820191906000526020600020905b815481529060010190602001808311610db757829003601f168201915b505050505090506000610dfe6040805180820190915260048152631d195cdd60e21b602082015290565b90508051600003610e10575092915050565b815115610e42578082604051602001610e2a929190611cee565b60405160208183030381529060405292505050919050565b610a0884611095565b6107ab828260405180602001604052806000815250611115565b6000828152600260205260409020546001600160a01b0316610ee05760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161044a565b6000828152600a602052604090206104eb8282611d6b565b60006001600160e01b031982166380ac58cd60e01b1480610f2957506001600160e01b03198216635b5e139f60e01b145b8061031757506301ffc9a760e01b6001600160e01b0319831614610317565b6107e184848484611148565b610f5d81611288565b6000818152600a602052604090208054610f7690611bba565b159050610601576000818152600a6020526040812061060191611847565b60006001600160a01b0384163b1561108a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610fd8903390899088908890600401611e2b565b6020604051808303816000875af1925050508015611013575060408051601f3d908101601f1916820190925261101091810190611e68565b60015b611070573d808015611041576040519150601f19603f3d011682016040523d82523d6000602084013e611046565b606091505b5080516000036110685760405162461bcd60e51b815260040161044a90611c9c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610a08565b506001949350505050565b60606110a0826108c4565b60006110c36040805180820190915260048152631d195cdd60e21b602082015290565b905060008151116110e3576040518060200160405280600081525061110e565b806110ed8461132b565b6040516020016110fe929190611cee565b6040516020818303038152906040525b9392505050565b61111f83836113be565b61112c6000848484610f94565b6104eb5760405162461bcd60e51b815260040161044a90611c9c565b61115484848484611557565b60018111156111c35760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b606482015260840161044a565b816001600160a01b03851661121f5761121a81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611242565b836001600160a01b0316856001600160a01b0316146112425761124285826115df565b6001600160a01b03841661125e576112598161167c565b611281565b846001600160a01b0316846001600160a01b03161461128157611281848261172b565b5050505050565b600061129382610697565b90506112a3816000846001610f48565b6112ac82610697565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006113388361176f565b600101905060008167ffffffffffffffff81111561135857611358611a1d565b6040519080825280601f01601f191660200182016040528015611382576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461138c57509392505050565b6001600160a01b0382166114145760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161044a565b6000818152600260205260409020546001600160a01b0316156114795760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044a565b611487600083836001610f48565b6000818152600260205260409020546001600160a01b0316156114ec5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044a565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60018111156107e1576001600160a01b0384161561159d576001600160a01b03841660009081526003602052604081208054839290611597908490611e9b565b90915550505b6001600160a01b038316156107e1576001600160a01b038316600090815260036020526040812080548392906115d4908490611eae565b909155505050505050565b600060016115ec846106f7565b6115f69190611e9b565b600083815260076020526040902054909150808214611649576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061168e90600190611e9b565b600083815260096020526040812054600880549394509092849081106116b6576116b6611c41565b9060005260206000200154905080600883815481106116d7576116d7611c41565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061170f5761170f611ec1565b6001900381819060005260206000200160009055905550505050565b6000611736836106f7565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117ae5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106117da576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106117f857662386f26fc10000830492506010015b6305f5e1008310611810576305f5e100830492506008015b612710831061182457612710830492506004015b60648310611836576064830492506002015b600a83106103175760010192915050565b50805461185390611bba565b6000825580601f10611863575050565b601f01602090049060005260206000209081019061060191905b80821115611891576000815560010161187d565b5090565b6001600160e01b03198116811461060157600080fd5b6000602082840312156118bd57600080fd5b813561110e81611895565b60005b838110156118e35781810151838201526020016118cb565b50506000910152565b600081518084526119048160208601602086016118c8565b601f01601f19169290920160200192915050565b60208152600061110e60208301846118ec565b60006020828403121561193d57600080fd5b5035919050565b80356001600160a01b038116811461195b57600080fd5b919050565b6000806040838503121561197357600080fd5b61197c83611944565b946020939093013593505050565b60008060006060848603121561199f57600080fd5b6119a884611944565b92506119b660208501611944565b9150604084013590509250925092565b6000602082840312156119d857600080fd5b61110e82611944565b600080604083850312156119f457600080fd5b6119fd83611944565b915060208301358015158114611a1257600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611a4e57611a4e611a1d565b604051601f8501601f19908116603f01168101908282118183101715611a7657611a76611a1d565b81604052809350858152868686011115611a8f57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215611abf57600080fd5b611ac885611944565b9350611ad660208601611944565b925060408501359150606085013567ffffffffffffffff811115611af957600080fd5b8501601f81018713611b0a57600080fd5b611b1987823560208401611a33565b91505092959194509250565b60008060408385031215611b3857600080fd5b611b4183611944565b9150602083013567ffffffffffffffff811115611b5d57600080fd5b8301601f81018513611b6e57600080fd5b611b7d85823560208401611a33565b9150509250929050565b60008060408385031215611b9a57600080fd5b611ba383611944565b9150611bb160208401611944565b90509250929050565b600181811c90821680611bce57607f821691505b602082108103611bee57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611d008184602088016118c8565b835190830190611d148183602088016118c8565b01949350505050565b601f8211156104eb57600081815260208120601f850160051c81016020861015611d445750805b601f850160051c820191505b81811015611d6357828155600101611d50565b505050505050565b815167ffffffffffffffff811115611d8557611d85611a1d565b611d9981611d938454611bba565b84611d1d565b602080601f831160018114611dce5760008415611db65750858301515b600019600386901b1c1916600185901b178555611d63565b600085815260208120601f198616915b82811015611dfd57888601518255948401946001909101908401611dde565b5085821015611e1b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611e5e908301846118ec565b9695505050505050565b600060208284031215611e7a57600080fd5b815161110e81611895565b634e487b7160e01b600052601160045260246000fd5b8181038181111561031757610317611e85565b8082018082111561031757610317611e85565b634e487b7160e01b600052603160045260246000fdfea26469706673582212207960bc65d7484ab1502ccdc352c91f0fb91535a525cf99e1b6392e242548279a64736f6c63430008110033", - "sourceMap": "469:1412:16:-:0;;;661:50;;;;;;;;;;1390:113:1;;;;;;;;;;;;;-1:-1:-1;;;1390:113:1;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:1;;;1464:5;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:1;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;936:32:0;955:12;:10;;;:12;;:::i;:::-;936:18;:32::i;:::-;469:1412:16;;640:96:10;719:10;;640:96::o;2433:187:0:-;2525:6;;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;;2573:40;;2525:6;;;2541:17;2525:6;;2573:40;;2506:16;;2573:40;2496:124;2433:187;:::o;14:127:17:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:17;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:17;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:17;;;2580:26;2531:89;-1:-1:-1;;1335:1:17;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:17;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:17;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:17;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:17:o;:::-;469:1412:16;;;;;;", - "deployedSourceMap": "469:1412:16:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1674:205;;;;;;:::i;:::-;;:::i;:::-;;;565:14:17;;558:22;540:41;;528:2;513:18;1674:205:16;;;;;;;;2471:98:1;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:17;;;1679:51;;1667:2;1652:18;3935:167:1;1533:203:17;3468:406:1;;;;;;:::i;:::-;;:::i;:::-;;1630:111:5;1717:10;:17;1630:111;;;2324:25:17;;;2312:2;2297:18;1630:111:5;2178:177:17;4612:326:1;;;;;;:::i;:::-;;:::i;1306:253:5:-;;;;;;:::i;:::-;;:::i;5004:179:1:-;;;;;;:::i;:::-;;:::i;531:238:4:-;;;;;;:::i;:::-;;:::i;1813:230:5:-;;;;;;:::i;:::-;;:::i;2190:219:1:-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;1831:101:0:-;;;:::i;1201:85::-;1273:6;;-1:-1:-1;;;;;1273:6:0;1201:85;;2633:102:1;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5249:314::-;;;;;;:::i;:::-;;:::i;1479:189:16:-;;;;;;:::i;:::-;;:::i;820:231::-;;;;;;:::i;:::-;;:::i;4388:162:1:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:1;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;2081:198:0;;;;;;:::i;:::-;;:::i;1674:205:16:-;1809:4;1836:36;1860:11;1836:23;:36::i;:::-;1829:43;1674:205;-1:-1:-1;;1674:205:16:o;2471:98:1:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:1;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:1;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:1;:2;-1:-1:-1;;;;;3605:11:1;;3597:57;;;;-1:-1:-1;;;3597:57:1;;6056:2:17;3597:57:1;;;6038:21:17;6095:2;6075:18;;;6068:30;6134:34;6114:18;;;6107:62;-1:-1:-1;;;6185:18:17;;;6178:31;6226:19;;3597:57:1;;;;;;;;;719:10:10;-1:-1:-1;;;;;3686:21:1;;;;:62;;-1:-1:-1;3711:37:1;3728:5;719:10:10;4388:162:1;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:1;;6458:2:17;3665:170:1;;;6440:21:17;6497:2;6477:18;;;6470:30;6536:34;6516:18;;;6509:62;6607:31;6587:18;;;6580:59;6656:19;;3665:170:1;6256:425:17;3665:170:1;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:326::-;4801:41;719:10:10;4820:12:1;4834:7;4801:18;:41::i;:::-;4793:99;;;;-1:-1:-1;;;4793:99:1;;;;;;;:::i;:::-;4903:28;4913:4;4919:2;4923:7;4903:9;:28::i;1306:253:5:-;1403:7;1438:23;1455:5;1438:16;:23::i;:::-;1430:5;:31;1422:87;;;;-1:-1:-1;;;1422:87:5;;7302:2:17;1422:87:5;;;7284:21:17;7341:2;7321:18;;;7314:30;7380:34;7360:18;;;7353:62;-1:-1:-1;;;7431:18:17;;;7424:41;7482:19;;1422:87:5;7100:407:17;1422:87:5;-1:-1:-1;;;;;;1526:19:5;;;;;;;;:12;:19;;;;;;;;:26;;;;;;;;;1306:253::o;5004:179:1:-;5137:39;5154:4;5160:2;5164:7;5137:39;;;;;;;;;;;;:16;:39::i;531:238:4:-;647:41;719:10:10;666:12:4;640:96:10;647:41:4;639:99;;;;-1:-1:-1;;;639:99:4;;;;;;;:::i;:::-;748:14;754:7;748:5;:14::i;:::-;531:238;:::o;1813:230:5:-;1888:7;1923:30;1717:10;:17;;1630:111;1923:30;1915:5;:38;1907:95;;;;-1:-1:-1;;;1907:95:5;;7714:2:17;1907:95:5;;;7696:21:17;7753:2;7733:18;;;7726:30;7792:34;7772:18;;;7765:62;-1:-1:-1;;;7843:18:17;;;7836:42;7895:19;;1907:95:5;7512:408:17;1907:95:5;2019:10;2030:5;2019:17;;;;;;;;:::i;:::-;;;;;;;;;2012:24;;1813:230;;;:::o;2190:219:1:-;2262:7;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;;2324:56;;;;-1:-1:-1;;;2324:56:1;;8259:2:17;2324:56:1;;;8241:21:17;8298:2;8278:18;;;8271:30;-1:-1:-1;;;8317:18:17;;;8310:54;8381:18;;2324:56:1;8057:348:17;1929:204:1;2001:7;-1:-1:-1;;;;;2028:19:1;;2020:73;;;;-1:-1:-1;;;2020:73:1;;8612:2:17;2020:73:1;;;8594:21:17;8651:2;8631:18;;;8624:30;8690:34;8670:18;;;8663:62;-1:-1:-1;;;8741:18:17;;;8734:39;8790:19;;2020:73:1;8410:405:17;2020:73:1;-1:-1:-1;;;;;;2110:16:1;;;;;:9;:16;;;;;;;1929:204::o;1831:101:0:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;2633:102:1:-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:10;4296:8:1;4306;4263:18;:52::i;:::-;4169:153;;:::o;5249:314::-;5417:41;719:10:10;5450:7:1;5417:18;:41::i;:::-;5409:99;;;;-1:-1:-1;;;5409:99:1;;;;;;;:::i;:::-;5518:38;5532:4;5538:2;5542:7;5551:4;5518:13;:38::i;:::-;5249:314;;;;:::o;1479:189:16:-;1602:13;1638:23;1653:7;1638:14;:23::i;820:231::-;1094:13:0;:11;:13::i;:::-;896:15:16::1;914:25;:15;918:14:11::0;;827:112;914:25:16::1;896:43;;949:27;:15;1032:19:11::0;;1050:1;1032:19;;;945:123;949:27:16::1;986:22;996:2;1000:7;986:9;:22::i;:::-;1018:26;1031:7;1040:3;1018:12;:26::i;2081:198:0:-:0;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:0;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:0;;9022:2:17;2161:73:0::1;::::0;::::1;9004:21:17::0;9061:2;9041:18;;;9034:30;9100:34;9080:18;;;9073:62;-1:-1:-1;;;9151:18:17;;;9144:36;9197:19;;2161:73:0::1;8820:402:17::0;2161:73:0::1;2244:28;2263:8;2244:18;:28::i;1005:222:5:-:0;1107:4;-1:-1:-1;;;;;;1130:50:5;;-1:-1:-1;;;1130:50:5;;:90;;;1184:36;1208:11;1184:23;:36::i;13466:133:1:-;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;13539:53;;;;-1:-1:-1;;;13539:53:1;;8259:2:17;13539:53:1;;;8241:21:17;8298:2;8278:18;;;8271:30;-1:-1:-1;;;8317:18:17;;;8310:54;8381:18;;13539:53:1;8057:348:17;12768:171:1;12842:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12842:29:1;-1:-1:-1;;;;;12842:29:1;;;;;;;;:24;;12895:23;12842:24;12895:14;:23::i;:::-;-1:-1:-1;;;;;12886:46:1;;;;;;;;;;;12768:171;;:::o;7540:261::-;7633:4;7649:13;7665:23;7680:7;7665:14;:23::i;:::-;7649:39;;7717:5;-1:-1:-1;;;;;7706:16:1;:7;-1:-1:-1;;;;;7706:16:1;;:52;;;-1:-1:-1;;;;;;4508:25:1;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7726:32;7706:87;;;;7786:7;-1:-1:-1;;;;;7762:31:1;:20;7774:7;7762:11;:20::i;:::-;-1:-1:-1;;;;;7762:31:1;;7706:87;7698:96;7540:261;-1:-1:-1;;;;7540:261:1:o;11423:1233::-;11577:4;-1:-1:-1;;;;;11550:31:1;:23;11565:7;11550:14;:23::i;:::-;-1:-1:-1;;;;;11550:31:1;;11542:81;;;;-1:-1:-1;;;11542:81:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;11641:16:1;;11633:65;;;;-1:-1:-1;;;11633:65:1;;9835:2:17;11633:65:1;;;9817:21:17;9874:2;9854:18;;;9847:30;9913:34;9893:18;;;9886:62;-1:-1:-1;;;9964:18:17;;;9957:34;10008:19;;11633:65:1;9633:400:17;11633:65:1;11709:42;11730:4;11736:2;11740:7;11749:1;11709:20;:42::i;:::-;11878:4;-1:-1:-1;;;;;11851:31:1;:23;11866:7;11851:14;:23::i;:::-;-1:-1:-1;;;;;11851:31:1;;11843:81;;;;-1:-1:-1;;;11843:81:1;;;;;;;:::i;:::-;11993:24;;;;:15;:24;;;;;;;;11986:31;;-1:-1:-1;;;;;;11986:31:1;;;;;;-1:-1:-1;;;;;12461:15:1;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12461:20:1;;;12495:13;;;;;;;;;:18;;11986:31;12495:18;;;12533:16;;;:7;:16;;;;;;:21;;;;;;;;;;12570:27;;12009:7;;12570:27;;;3538:336;3468:406;;:::o;1360:113:16:-;1446:20;1458:7;1446:11;:20::i;1359:130:0:-;1273:6;;-1:-1:-1;;;;;1273:6:0;719:10:10;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;10240:2:17;1414:68:0;;;10222:21:17;;;10259:18;;;10252:30;10318:34;10298:18;;;10291:62;10370:18;;1414:68:0;10038:356:17;2433:187:0;2525:6;;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;;2573:40;;2525:6;;;2541:17;2525:6;;2573:40;;2506:16;;2573:40;2496:124;2433:187;:::o;13075:307:1:-;13225:8;-1:-1:-1;;;;;13216:17:1;:5;-1:-1:-1;;;;;13216:17:1;;13208:55;;;;-1:-1:-1;;;13208:55:1;;10601:2:17;13208:55:1;;;10583:21:17;10640:2;10620:18;;;10613:30;10679:27;10659:18;;;10652:55;10724:18;;13208:55:1;10399:349:17;13208:55:1;-1:-1:-1;;;;;13273:25:1;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13273:46:1;;;;;;;;;;13334:41;;540::17;;;13334::1;;513:18:17;13334:41:1;;;;;;;13075:307;;;:::o;6424:305::-;6574:28;6584:4;6590:2;6594:7;6574:9;:28::i;:::-;6620:47;6643:4;6649:2;6653:7;6662:4;6620:22;:47::i;:::-;6612:110;;;;-1:-1:-1;;;6612:110:1;;;;;;;:::i;482:608:6:-;555:13;580:23;595:7;580:14;:23::i;:::-;614;640:19;;;:10;:19;;;;;614:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;669:18;690:10;794:13:16;;;;;;;;;;;;-1:-1:-1;;;794:13:16;;;;;717:97;690:10:6;669:31;;779:4;773:18;795:1;773:23;769:70;;-1:-1:-1;819:9:6;482:608;-1:-1:-1;;482:608:6:o;769:70::-;941:23;;:27;937:106;;1015:4;1021:9;998:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;984:48;;;;482:608;;;:::o;937:106::-;1060:23;1075:7;1060:14;:23::i;8131:108:1:-;8206:26;8216:2;8220:7;8206:26;;;;;;;;;;;;:9;:26::i;1237:214:6:-;7321:4:1;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;1328:75:6;;;;-1:-1:-1;;;1328:75:6;;11875:2:17;1328:75:6;;;11857:21:17;11914:2;11894:18;;;11887:30;11953:34;11933:18;;;11926:62;-1:-1:-1;;;12004:18:17;;;11997:44;12058:19;;1328:75:6;11673:410:17;1328:75:6;1413:19;;;;:10;:19;;;;;:31;1435:9;1413:19;:31;:::i;1570:300:1:-;1672:4;-1:-1:-1;;;;;;1707:40:1;;-1:-1:-1;;;1707:40:1;;:104;;-1:-1:-1;;;;;;;1763:48:1;;-1:-1:-1;;;1763:48:1;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:13;;;1827:36:1;829:155:13;1125:229:16;1291:56;1318:4;1324:2;1328:7;1337:9;1291:26;:56::i;1669:200:6:-;1737:20;1749:7;1737:11;:20::i;:::-;1778:19;;;;:10;:19;;;;;1772:33;;;;;:::i;:::-;:38;;-1:-1:-1;1768:95:6;;1833:19;;;;:10;:19;;;;;1826:26;;;:::i;14151:831:1:-;14300:4;-1:-1:-1;;;;;14320:13:1;;1465:19:9;:23;14316:660:1;;14355:71;;-1:-1:-1;;;14355:71:1;;-1:-1:-1;;;;;14355:36:1;;;;;:71;;719:10:10;;14406:4:1;;14412:7;;14421:4;;14355:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14355:71:1;;;;;;;;-1:-1:-1;;14355:71:1;;;;;;;;;;;;:::i;:::-;;;14351:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14593:6;:13;14610:1;14593:18;14589:321;;14635:60;;-1:-1:-1;;;14635:60:1;;;;;;;:::i;14589:321::-;14862:6;14856:13;14847:6;14843:2;14839:15;14832:38;14351:573;-1:-1:-1;;;;;;14476:51:1;-1:-1:-1;;;14476:51:1;;-1:-1:-1;14469:58:1;;14316:660;-1:-1:-1;14961:4:1;14151:831;;;;;;:::o;2801:276::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;794:13:16;;;;;;;;;;;;-1:-1:-1;;;794:13:16;;;;;717:97;2957:10:1;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;-1:-1:-1;;;2801:276:1:o;8460:309::-;8584:18;8590:2;8594:7;8584:5;:18::i;:::-;8633:53;8664:1;8668:2;8672:7;8681:4;8633:22;:53::i;:::-;8612:150;;;;-1:-1:-1;;;8612:150:1;;;;;;;:::i;2112:890:5:-;2283:61;2310:4;2316:2;2320:12;2334:9;2283:26;:61::i;:::-;2371:1;2359:9;:13;2355:219;;;2500:63;;-1:-1:-1;;;2500:63:5;;15242:2:17;2500:63:5;;;15224:21:17;15281:2;15261:18;;;15254:30;15320:34;15300:18;;;15293:62;-1:-1:-1;;;15371:18:17;;;15364:51;15432:19;;2500:63:5;15040:417:17;2355:219:5;2602:12;-1:-1:-1;;;;;2629:18:5;;2625:183;;2663:40;2695:7;3811:10;:17;;3784:24;;;;:15;:24;;;;;:44;;;3838:24;;;;;;;;;;;;3708:161;2663:40;2625:183;;;2732:2;-1:-1:-1;;;;;2724:10:5;:4;-1:-1:-1;;;;;2724:10:5;;2720:88;;2750:47;2783:4;2789:7;2750:32;:47::i;:::-;-1:-1:-1;;;;;2821:16:5;;2817:179;;2853:45;2890:7;2853:36;:45::i;:::-;2817:179;;;2925:4;-1:-1:-1;;;;;2919:10:5;:2;-1:-1:-1;;;;;2919:10:5;;2915:81;;2945:40;2973:2;2977:7;2945:27;:40::i;:::-;2273:729;2112:890;;;;:::o;10337:762:1:-;10396:13;10412:23;10427:7;10412:14;:23::i;:::-;10396:39;;10446:51;10467:5;10482:1;10486:7;10495:1;10446:20;:51::i;:::-;10607:23;10622:7;10607:14;:23::i;:::-;10675:24;;;;:15;:24;;;;;;;;10668:31;;-1:-1:-1;;;;;;10668:31:1;;;;;;-1:-1:-1;;;;;10915:16:1;;;;;:9;:16;;;;;:21;;-1:-1:-1;;10915:21:1;;;10963:16;;;:7;:16;;;;;;10956:23;;;;;;;10995:36;10599:31;;-1:-1:-1;10691:7:1;;10995:36;;10675:24;;10995:36;4169:153;;:::o;415:696:12:-;471:13;520:14;537:17;548:5;537:10;:17::i;:::-;557:1;537:21;520:38;;572:20;606:6;595:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;595:18:12;-1:-1:-1;572:41:12;-1:-1:-1;733:28:12;;;749:2;733:28;788:280;-1:-1:-1;;819:5:12;-1:-1:-1;;;953:2:12;942:14;;937:30;819:5;924:44;1012:2;1003:11;;;-1:-1:-1;1032:21:12;788:280;1032:21;-1:-1:-1;1088:6:12;415:696;-1:-1:-1;;;415:696:12:o;9091:920:1:-;-1:-1:-1;;;;;9170:16:1;;9162:61;;;;-1:-1:-1;;;9162:61:1;;15796:2:17;9162:61:1;;;15778:21:17;;;15815:18;;;15808:30;15874:34;15854:18;;;15847:62;15926:18;;9162:61:1;15594:356:17;9162:61:1;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;7344:31;9233:58;;;;-1:-1:-1;;;9233:58:1;;16157:2:17;9233:58:1;;;16139:21:17;16196:2;16176:18;;;16169:30;16235;16215:18;;;16208:58;16283:18;;9233:58:1;15955:352:17;9233:58:1;9302:48;9331:1;9335:2;9339:7;9348:1;9302:20;:48::i;:::-;7321:4;6930:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6930:16:1;7344:31;9437:58;;;;-1:-1:-1;;;9437:58:1;;16157:2:17;9437:58:1;;;16139:21:17;16196:2;16176:18;;;16169:30;16235;16215:18;;;16208:58;16283:18;;9437:58:1;15955:352:17;9437:58:1;-1:-1:-1;;;;;9837:13:1;;;;;;:9;:13;;;;;;;;:18;;9854:1;9837:18;;;9876:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9876:21:1;;;;;9913:33;9884:7;;9837:13;;9913:33;;9837:13;;9913:33;4169:153;;:::o;15698:396::-;15882:1;15870:9;:13;15866:222;;;-1:-1:-1;;;;;15903:18:1;;;15899:85;;-1:-1:-1;;;;;15941:15:1;;;;;;:9;:15;;;;;:28;;15960:9;;15941:15;:28;;15960:9;;15941:28;:::i;:::-;;;;-1:-1:-1;;15899:85:1;-1:-1:-1;;;;;16001:16:1;;;15997:81;;-1:-1:-1;;;;;16037:13:1;;;;;;:9;:13;;;;;:26;;16054:9;;16037:13;:26;;16054:9;;16037:26;:::i;:::-;;;;-1:-1:-1;;15698:396:1;;;;:::o;4486:970:5:-;4748:22;4798:1;4773:22;4790:4;4773:16;:22::i;:::-;:26;;;;:::i;:::-;4809:18;4830:26;;;:17;:26;;;;;;4748:51;;-1:-1:-1;4960:28:5;;;4956:323;;-1:-1:-1;;;;;5026:18:5;;5004:19;5026:18;;;:12;:18;;;;;;;;:34;;;;;;;;;5075:30;;;;;;:44;;;5191:30;;:17;:30;;;;;:43;;;4956:323;-1:-1:-1;5372:26:5;;;;:17;:26;;;;;;;;5365:33;;;-1:-1:-1;;;;;5415:18:5;;;;;:12;:18;;;;;:34;;;;;;;5408:41;4486:970::o;5744:1061::-;6018:10;:17;5993:22;;6018:21;;6038:1;;6018:21;:::i;:::-;6049:18;6070:24;;;:15;:24;;;;;;6438:10;:26;;5993:46;;-1:-1:-1;6070:24:5;;5993:46;;6438:26;;;;;;:::i;:::-;;;;;;;;;6416:48;;6500:11;6475:10;6486;6475:22;;;;;;;;:::i;:::-;;;;;;;;;;;;:36;;;;6579:28;;;:15;:28;;;;;;;:41;;;6748:24;;;;;6741:31;6782:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5815:990;;;5744:1061;:::o;3296:217::-;3380:14;3397:20;3414:2;3397:16;:20::i;:::-;-1:-1:-1;;;;;3427:16:5;;;;;;;:12;:16;;;;;;;;:24;;;;;;;;:34;;;3471:26;;;:17;:26;;;;;;:35;;;;-1:-1:-1;3296:217:5:o;9889:890:15:-;9942:7;;-1:-1:-1;;;10017:15:15;;10013:99;;-1:-1:-1;;;10052:15:15;;;-1:-1:-1;10095:2:15;10085:12;10013:99;10138:6;10129:5;:15;10125:99;;10173:6;10164:15;;;-1:-1:-1;10207:2:15;10197:12;10125:99;10250:6;10241:5;:15;10237:99;;10285:6;10276:15;;;-1:-1:-1;10319:2:15;10309:12;10237:99;10362:5;10353;:14;10349:96;;10396:5;10387:14;;;-1:-1:-1;10429:1:15;10419:11;10349:96;10471:5;10462;:14;10458:96;;10505:5;10496:14;;;-1:-1:-1;10538:1:15;10528:11;10458:96;10580:5;10571;:14;10567:96;;10614:5;10605:14;;;-1:-1:-1;10647:1:15;10637:11;10567:96;10689:5;10680;:14;10676:64;;10724:1;10714:11;10766:6;9889:890;-1:-1:-1;;9889:890:15:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:131:17:-;-1:-1:-1;;;;;;88:32:17;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:17;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:17;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:17:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:17;;1348:180;-1:-1:-1;1348:180:17:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:17;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:17:o;2360:328::-;2437:6;2445;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2545:29;2564:9;2545:29;:::i;:::-;2535:39;;2593:38;2627:2;2616:9;2612:18;2593:38;:::i;:::-;2583:48;;2678:2;2667:9;2663:18;2650:32;2640:42;;2360:328;;;;;:::o;2693:186::-;2752:6;2805:2;2793:9;2784:7;2780:23;2776:32;2773:52;;;2821:1;2818;2811:12;2773:52;2844:29;2863:9;2844:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:631;3432:5;3462:18;3503:2;3495:6;3492:14;3489:40;;;3509:18;;:::i;:::-;3584:2;3578:9;3552:2;3638:15;;-1:-1:-1;;3634:24:17;;;3660:2;3630:33;3626:42;3614:55;;;3684:18;;;3704:22;;;3681:46;3678:72;;;3730:18;;:::i;:::-;3770:10;3766:2;3759:22;3799:6;3790:15;;3829:6;3821;3814:22;3869:3;3860:6;3855:3;3851:16;3848:25;3845:45;;;3886:1;3883;3876:12;3845:45;3936:6;3931:3;3924:4;3916:6;3912:17;3899:44;3991:1;3984:4;3975:6;3967;3963:19;3959:30;3952:41;;;;3368:631;;;;;:::o;4004:666::-;4099:6;4107;4115;4123;4176:3;4164:9;4155:7;4151:23;4147:33;4144:53;;;4193:1;4190;4183:12;4144:53;4216:29;4235:9;4216:29;:::i;:::-;4206:39;;4264:38;4298:2;4287:9;4283:18;4264:38;:::i;:::-;4254:48;;4349:2;4338:9;4334:18;4321:32;4311:42;;4404:2;4393:9;4389:18;4376:32;4431:18;4423:6;4420:30;4417:50;;;4463:1;4460;4453:12;4417:50;4486:22;;4539:4;4531:13;;4527:27;-1:-1:-1;4517:55:17;;4568:1;4565;4558:12;4517:55;4591:73;4656:7;4651:2;4638:16;4633:2;4629;4625:11;4591:73;:::i;:::-;4581:83;;;4004:666;;;;;;;:::o;4675:524::-;4753:6;4761;4814:2;4802:9;4793:7;4789:23;4785:32;4782:52;;;4830:1;4827;4820:12;4782:52;4853:29;4872:9;4853:29;:::i;:::-;4843:39;;4933:2;4922:9;4918:18;4905:32;4960:18;4952:6;4949:30;4946:50;;;4992:1;4989;4982:12;4946:50;5015:22;;5068:4;5060:13;;5056:27;-1:-1:-1;5046:55:17;;5097:1;5094;5087:12;5046:55;5120:73;5185:7;5180:2;5167:16;5162:2;5158;5154:11;5120:73;:::i;:::-;5110:83;;;4675:524;;;;;:::o;5204:260::-;5272:6;5280;5333:2;5321:9;5312:7;5308:23;5304:32;5301:52;;;5349:1;5346;5339:12;5301:52;5372:29;5391:9;5372:29;:::i;:::-;5362:39;;5420:38;5454:2;5443:9;5439:18;5420:38;:::i;:::-;5410:48;;5204:260;;;;;:::o;5469:380::-;5548:1;5544:12;;;;5591;;;5612:61;;5666:4;5658:6;5654:17;5644:27;;5612:61;5719:2;5711:6;5708:14;5688:18;5685:38;5682:161;;5765:10;5760:3;5756:20;5753:1;5746:31;5800:4;5797:1;5790:15;5828:4;5825:1;5818:15;5682:161;;5469:380;;;:::o;6686:409::-;6888:2;6870:21;;;6927:2;6907:18;;;6900:30;6966:34;6961:2;6946:18;;6939:62;-1:-1:-1;;;7032:2:17;7017:18;;7010:43;7085:3;7070:19;;6686:409::o;7925:127::-;7986:10;7981:3;7977:20;7974:1;7967:31;8017:4;8014:1;8007:15;8041:4;8038:1;8031:15;9227:401;9429:2;9411:21;;;9468:2;9448:18;;;9441:30;9507:34;9502:2;9487:18;;9480:62;-1:-1:-1;;;9573:2:17;9558:18;;9551:35;9618:3;9603:19;;9227:401::o;10753:414::-;10955:2;10937:21;;;10994:2;10974:18;;;10967:30;11033:34;11028:2;11013:18;;11006:62;-1:-1:-1;;;11099:2:17;11084:18;;11077:48;11157:3;11142:19;;10753:414::o;11172:496::-;11351:3;11389:6;11383:13;11405:66;11464:6;11459:3;11452:4;11444:6;11440:17;11405:66;:::i;:::-;11534:13;;11493:16;;;;11556:70;11534:13;11493:16;11603:4;11591:17;;11556:70;:::i;:::-;11642:20;;11172:496;-1:-1:-1;;;;11172:496:17:o;12214:545::-;12316:2;12311:3;12308:11;12305:448;;;12352:1;12377:5;12373:2;12366:17;12422:4;12418:2;12408:19;12492:2;12480:10;12476:19;12473:1;12469:27;12463:4;12459:38;12528:4;12516:10;12513:20;12510:47;;;-1:-1:-1;12551:4:17;12510:47;12606:2;12601:3;12597:12;12594:1;12590:20;12584:4;12580:31;12570:41;;12661:82;12679:2;12672:5;12669:13;12661:82;;;12724:17;;;12705:1;12694:13;12661:82;;;12665:3;;;12214:545;;;:::o;12935:1352::-;13061:3;13055:10;13088:18;13080:6;13077:30;13074:56;;;13110:18;;:::i;:::-;13139:97;13229:6;13189:38;13221:4;13215:11;13189:38;:::i;:::-;13183:4;13139:97;:::i;:::-;13291:4;;13355:2;13344:14;;13372:1;13367:663;;;;14074:1;14091:6;14088:89;;;-1:-1:-1;14143:19:17;;;14137:26;14088:89;-1:-1:-1;;12892:1:17;12888:11;;;12884:24;12880:29;12870:40;12916:1;12912:11;;;12867:57;14190:81;;13337:944;;13367:663;12161:1;12154:14;;;12198:4;12185:18;;-1:-1:-1;;13403:20:17;;;13521:236;13535:7;13532:1;13529:14;13521:236;;;13624:19;;;13618:26;13603:42;;13716:27;;;;13684:1;13672:14;;;;13551:19;;13521:236;;;13525:3;13785:6;13776:7;13773:19;13770:201;;;13846:19;;;13840:26;-1:-1:-1;;13929:1:17;13925:14;;;13941:3;13921:24;13917:37;13913:42;13898:58;13883:74;;13770:201;-1:-1:-1;;;;;14017:1:17;14001:14;;;13997:22;13984:36;;-1:-1:-1;12935:1352:17:o;14292:489::-;-1:-1:-1;;;;;14561:15:17;;;14543:34;;14613:15;;14608:2;14593:18;;14586:43;14660:2;14645:18;;14638:34;;;14708:3;14703:2;14688:18;;14681:31;;;14486:4;;14729:46;;14755:19;;14747:6;14729:46;:::i;:::-;14721:54;14292:489;-1:-1:-1;;;;;;14292:489:17:o;14786:249::-;14855:6;14908:2;14896:9;14887:7;14883:23;14879:32;14876:52;;;14924:1;14921;14914:12;14876:52;14956:9;14950:16;14975:30;14999:5;14975:30;:::i;16312:127::-;16373:10;16368:3;16364:20;16361:1;16354:31;16404:4;16401:1;16394:15;16428:4;16425:1;16418:15;16444:128;16511:9;;;16532:11;;;16529:37;;;16546:18;;:::i;16577:125::-;16642:9;;;16663:10;;;16660:36;;;16676:18;;:::i;16707:127::-;16768:10;16763:3;16759:20;16756:1;16749:31;16799:4;16796:1;16789:15;16823:4;16820:1;16813:15", - "sourcePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol", - "compiler": { - "name": "solc", - "version": "0.8.17+commit.8df45f5f" - }, - "ast": { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/ZeppelinContract.sol", - "exportedSymbols": { - "Address": [ - 2088 - ], - "Context": [ - 2110 - ], - "Counters": [ - 2184 - ], - "ERC165": [ - 2383 - ], - "ERC721": [ - 1057 - ], - "ERC721Burnable": [ - 1221 - ], - "ERC721Enumerable": [ - 1575 - ], - "ERC721URIStorage": [ - 1700 - ], - "IERC165": [ - 2395 - ], - "IERC721": [ - 1173 - ], - "IERC721Enumerable": [ - 1731 - ], - "IERC721Metadata": [ - 1758 - ], - "IERC721Receiver": [ - 1191 - ], - "Math": [ - 3260 - ], - "Ownable": [ - 112 - ], - "Strings": [ - 2359 - ], - "ZeppelinContract": [ - 3405 - ] - }, - "id": 3406, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3262, - "literals": [ - "solidity", - "^", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "32:23:16" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "./@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 3263, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 1058, - "src": "57:59:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", - "file": "./@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", - "id": 3264, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 1576, - "src": "117:80:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "file": "./@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", - "id": 3265, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 1701, - "src": "198:80:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol", - "file": "./@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol", - "id": 3266, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 1222, - "src": "279:78:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/access/Ownable.sol", - "file": "./@openzeppelin/contracts/access/Ownable.sol", - "id": 3267, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 113, - "src": "358:54:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/praetorp/Repos/Polkadot/unique-chain/tests/src/benchmarks/mintFee/openZeppelin/@openzeppelin/contracts/utils/Counters.sol", - "file": "./@openzeppelin/contracts/utils/Counters.sol", - "id": 3268, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3406, - "sourceUnit": 2185, - "src": "413:54:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 3269, - "name": "ERC721", - "nameLocations": [ - "498:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "498:6:16" - }, - "id": 3270, - "nodeType": "InheritanceSpecifier", - "src": "498:6:16" - }, - { - "baseName": { - "id": 3271, - "name": "ERC721Enumerable", - "nameLocations": [ - "506:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1575, - "src": "506:16:16" - }, - "id": 3272, - "nodeType": "InheritanceSpecifier", - "src": "506:16:16" - }, - { - "baseName": { - "id": 3273, - "name": "ERC721URIStorage", - "nameLocations": [ - "524:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1700, - "src": "524:16:16" - }, - "id": 3274, - "nodeType": "InheritanceSpecifier", - "src": "524:16:16" - }, - { - "baseName": { - "id": 3275, - "name": "ERC721Burnable", - "nameLocations": [ - "542:14:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1221, - "src": "542:14:16" - }, - "id": 3276, - "nodeType": "InheritanceSpecifier", - "src": "542:14:16" - }, - { - "baseName": { - "id": 3277, - "name": "Ownable", - "nameLocations": [ - "558:7:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 112, - "src": "558:7:16" - }, - "id": 3278, - "nodeType": "InheritanceSpecifier", - "src": "558:7:16" - } - ], - "canonicalName": "ZeppelinContract", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 3405, - "linearizedBaseContracts": [ - 3405, - 112, - 1221, - 1700, - 1575, - 1731, - 1057, - 1758, - 1173, - 2383, - 2395, - 2110 - ], - "name": "ZeppelinContract", - "nameLocation": "478:16:16", - "nodeType": "ContractDefinition", - "nodes": [ - { - "global": false, - "id": 3282, - "libraryName": { - "id": 3279, - "name": "Counters", - "nameLocations": [ - "578:8:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2184, - "src": "578:8:16" - }, - "nodeType": "UsingForDirective", - "src": "572:36:16", - "typeName": { - "id": 3281, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3280, - "name": "Counters.Counter", - "nameLocations": [ - "591:8:16", - "600:7:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2116, - "src": "591:16:16" - }, - "referencedDeclaration": 2116, - "src": "591:16:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - { - "constant": false, - "id": 3285, - "mutability": "mutable", - "name": "_tokenIdCounter", - "nameLocation": "639:15:16", - "nodeType": "VariableDeclaration", - "scope": 3405, - "src": "614:40:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 3284, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3283, - "name": "Counters.Counter", - "nameLocations": [ - "614:8:16", - "623:7:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2116, - "src": "614:16:16" - }, - "referencedDeclaration": 2116, - "src": "614:16:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 3292, - "nodeType": "Block", - "src": "709:2:16", - "statements": [] - }, - "id": 3293, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "5a657070656c696e436f6e7472616374", - "id": 3288, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "682:18:16", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_541652d38c07eaaf399a3ec2e24f7d1c01df14153ba8b747dd6afaf2e9307d78", - "typeString": "literal_string \"ZeppelinContract\"" - }, - "value": "ZeppelinContract" - }, - { - "hexValue": "554e51", - "id": 3289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "702:5:16", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_adffbf6788a83836401c0b0dc8d2342f3137f759a438d0c490cc2913bd2a8b6a", - "typeString": "literal_string \"UNQ\"" - }, - "value": "UNQ" - } - ], - "id": 3290, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 3287, - "name": "ERC721", - "nameLocations": [ - "675:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "675:6:16" - }, - "nodeType": "ModifierInvocation", - "src": "675:33:16" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3286, - "nodeType": "ParameterList", - "parameters": [], - "src": "672:2:16" - }, - "returnParameters": { - "id": 3291, - "nodeType": "ParameterList", - "parameters": [], - "src": "709:0:16" - }, - "scope": 3405, - "src": "661:50:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 326 - ], - "body": { - "id": 3301, - "nodeType": "Block", - "src": "784:30:16", - "statements": [ - { - "expression": { - "hexValue": "74657374", - "id": 3299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "801:6:16", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658", - "typeString": "literal_string \"test\"" - }, - "value": "test" - }, - "functionReturnParameters": 3298, - "id": 3300, - "nodeType": "Return", - "src": "794:13:16" - } - ] - }, - "id": 3302, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseURI", - "nameLocation": "726:8:16", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3295, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "751:8:16" - }, - "parameters": { - "id": 3294, - "nodeType": "ParameterList", - "parameters": [], - "src": "734:2:16" - }, - "returnParameters": { - "id": 3298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3297, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3302, - "src": "769:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "769:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "768:15:16" - }, - "scope": 3405, - "src": "717:97:16", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3332, - "nodeType": "Block", - "src": "886:165:16", - "statements": [ - { - "assignments": [ - 3312 - ], - "declarations": [ - { - "constant": false, - "id": 3312, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "904:7:16", - "nodeType": "VariableDeclaration", - "scope": 3332, - "src": "896:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "896:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3316, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3313, - "name": "_tokenIdCounter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "914:15:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 3314, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "930:7:16", - "memberName": "current", - "nodeType": "MemberAccess", - "referencedDeclaration": 2128, - "src": "914:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$2116_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$2116_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" - } - }, - "id": 3315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "914:25:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "896:43:16" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 3317, - "name": "_tokenIdCounter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "949:15:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2116_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 3319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "965:9:16", - "memberName": "increment", - "nodeType": "MemberAccess", - "referencedDeclaration": 2142, - "src": "949:25:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$2116_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$2116_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 3320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "949:27:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3321, - "nodeType": "ExpressionStatement", - "src": "949:27:16" - }, - { - "expression": { - "arguments": [ - { - "id": 3323, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3304, - "src": "996:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3324, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3312, - "src": "1000:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3322, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 607, - 636 - ], - "referencedDeclaration": 607, - "src": "986:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "986:22:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3326, - "nodeType": "ExpressionStatement", - "src": "986:22:16" - }, - { - "expression": { - "arguments": [ - { - "id": 3328, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3312, - "src": "1031:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3329, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3306, - "src": "1040:3:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3327, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1669, - "src": "1018:12:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1018:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3331, - "nodeType": "ExpressionStatement", - "src": "1018:26:16" - } - ] - }, - "functionSelector": "d204c45e", - "id": 3333, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3309, - "kind": "modifierInvocation", - "modifierName": { - "id": 3308, - "name": "onlyOwner", - "nameLocations": [ - "876:9:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 31, - "src": "876:9:16" - }, - "nodeType": "ModifierInvocation", - "src": "876:9:16" - } - ], - "name": "safeMint", - "nameLocation": "829:8:16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3304, - "mutability": "mutable", - "name": "to", - "nameLocation": "846:2:16", - "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "838:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3303, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "838:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3306, - "mutability": "mutable", - "name": "uri", - "nameLocation": "864:3:16", - "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "850:17:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3305, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "850:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "837:31:16" - }, - "returnParameters": { - "id": 3310, - "nodeType": "ParameterList", - "parameters": [], - "src": "886:0:16" - }, - "scope": 3405, - "src": "820:231:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 1043, - 1413 - ], - "body": { - "id": 3356, - "nodeType": "Block", - "src": "1281:73:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3350, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "1318:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3351, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3337, - "src": "1324:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3352, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3339, - "src": "1328:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3353, - "name": "batchSize", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "1337:9:16", - "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": 3347, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1291:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ZeppelinContract_$3405_$", - "typeString": "type(contract super ZeppelinContract)" - } - }, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1297:20:16", - "memberName": "_beforeTokenTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1413, - "src": "1291:26:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 3354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1291:56:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3355, - "nodeType": "ExpressionStatement", - "src": "1291:56:16" - } - ] - }, - "id": 3357, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "1134:20:16", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3345, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 3343, - "name": "ERC721", - "nameLocations": [ - "1251:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "1251:6:16" - }, - { - "id": 3344, - "name": "ERC721Enumerable", - "nameLocations": [ - "1259:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1575, - "src": "1259:16:16" - } - ], - "src": "1242:34:16" - }, - "parameters": { - "id": 3342, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3335, - "mutability": "mutable", - "name": "from", - "nameLocation": "1163:4:16", - "nodeType": "VariableDeclaration", - "scope": 3357, - "src": "1155:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1155:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3337, - "mutability": "mutable", - "name": "to", - "nameLocation": "1177:2:16", - "nodeType": "VariableDeclaration", - "scope": 3357, - "src": "1169:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3336, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1169:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3339, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1189:7:16", - "nodeType": "VariableDeclaration", - "scope": 3357, - "src": "1181:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1181:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3341, - "mutability": "mutable", - "name": "batchSize", - "nameLocation": "1206:9:16", - "nodeType": "VariableDeclaration", - "scope": 3357, - "src": "1198:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1198:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1154:62:16" - }, - "returnParameters": { - "id": 3346, - "nodeType": "ParameterList", - "parameters": [], - "src": "1281:0:16" - }, - "scope": 3405, - "src": "1125:229:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 780, - 1699 - ], - "body": { - "id": 3371, - "nodeType": "Block", - "src": "1436:37:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3368, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "1458:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3365, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1446:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ZeppelinContract_$3405_$", - "typeString": "type(contract super ZeppelinContract)" - } - }, - "id": 3367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1452:5:16", - "memberName": "_burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1699, - "src": "1446:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1446:20:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3370, - "nodeType": "ExpressionStatement", - "src": "1446:20:16" - } - ] - }, - "id": 3372, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "1369:5:16", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3363, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 3361, - "name": "ERC721", - "nameLocations": [ - "1410:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "1410:6:16" - }, - { - "id": 3362, - "name": "ERC721URIStorage", - "nameLocations": [ - "1418:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1700, - "src": "1418:16:16" - } - ], - "src": "1401:34:16" - }, - "parameters": { - "id": 3360, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3359, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1383:7:16", - "nodeType": "VariableDeclaration", - "scope": 3372, - "src": "1375:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1375:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1374:17:16" - }, - "returnParameters": { - "id": 3364, - "nodeType": "ParameterList", - "parameters": [], - "src": "1436:0:16" - }, - "scope": 3405, - "src": "1360:113:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 317, - 1647 - ], - "body": { - "id": 3387, - "nodeType": "Block", - "src": "1621:47:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3384, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "1653:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3382, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1638:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ZeppelinContract_$3405_$", - "typeString": "type(contract super ZeppelinContract)" - } - }, - "id": 3383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1644:8:16", - "memberName": "tokenURI", - "nodeType": "MemberAccess", - "referencedDeclaration": 1647, - "src": "1638:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view returns (string memory)" - } - }, - "id": 3385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1638:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 3381, - "id": 3386, - "nodeType": "Return", - "src": "1631:30:16" - } - ] - }, - "functionSelector": "c87b56dd", - "id": 3388, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "1488:8:16", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3378, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 3376, - "name": "ERC721", - "nameLocations": [ - "1559:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "1559:6:16" - }, - { - "id": 3377, - "name": "ERC721URIStorage", - "nameLocations": [ - "1567:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1700, - "src": "1567:16:16" - } - ], - "src": "1550:34:16" - }, - "parameters": { - "id": 3375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3374, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1505:7:16", - "nodeType": "VariableDeclaration", - "scope": 3388, - "src": "1497:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1497:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1496:17:16" - }, - "returnParameters": { - "id": 3381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3380, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3388, - "src": "1602:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3379, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1602:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1601:15:16" - }, - "scope": 3405, - "src": "1479:189:16", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 206, - 1271 - ], - "body": { - "id": 3403, - "nodeType": "Block", - "src": "1819:60:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3400, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3390, - "src": "1860:11:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 3398, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1836:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ZeppelinContract_$3405_$", - "typeString": "type(contract super ZeppelinContract)" - } - }, - "id": 3399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1842:17:16", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 1271, - "src": "1836:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 3401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1836:36:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3397, - "id": 3402, - "nodeType": "Return", - "src": "1829:43:16" - } - ] - }, - "functionSelector": "01ffc9a7", - "id": 3404, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "1683:17:16", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3394, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 3392, - "name": "ERC721", - "nameLocations": [ - "1766:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1057, - "src": "1766:6:16" - }, - { - "id": 3393, - "name": "ERC721Enumerable", - "nameLocations": [ - "1774:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1575, - "src": "1774:16:16" - } - ], - "src": "1757:34:16" - }, - "parameters": { - "id": 3391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3390, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "1708:11:16", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "1701:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3389, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1701:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1700:20:16" - }, - "returnParameters": { - "id": 3397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3396, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "1809:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3395, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1809:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1808:6:16" - }, - "scope": 3405, - "src": "1674:205:16", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3406, - "src": "469:1412:16", - "usedErrors": [] - } - ], - "src": "32:1850:16" - }, - "functionHashes": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "owner()": "8da5cb5b", - "ownerOf(uint256)": "6352211e", - "renounceOwnership()": "715018a6", - "safeMint(address,string)": "d204c45e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenByIndex(uint256)": "4f6ccce7", - "tokenOfOwnerByIndex(address,uint256)": "2f745c59", - "tokenURI(uint256)": "c87b56dd", - "totalSupply()": "18160ddd", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "1589800", - "executionCost": "infinite", - "totalCost": "infinite" - }, - "external": { - "approve(address,uint256)": "infinite", - "balanceOf(address)": "2634", - "burn(uint256)": "infinite", - "getApproved(uint256)": "4792", - "isApprovedForAll(address,address)": "infinite", - "name()": "infinite", - "owner()": "2420", - "ownerOf(uint256)": "2561", - "renounceOwnership()": "infinite", - "safeMint(address,string)": "infinite", - "safeTransferFrom(address,address,uint256)": "infinite", - "safeTransferFrom(address,address,uint256,bytes)": "infinite", - "setApprovalForAll(address,bool)": "26705", - "supportsInterface(bytes4)": "infinite", - "symbol()": "infinite", - "tokenByIndex(uint256)": "6826", - "tokenOfOwnerByIndex(address,uint256)": "4975", - "tokenURI(uint256)": "infinite", - "totalSupply()": "2393", - "transferFrom(address,address,uint256)": "infinite", - "transferOwnership(address)": "28468" - }, - "internal": { - "_baseURI()": "infinite", - "_beforeTokenTransfer(address,address,uint256,uint256)": "infinite", - "_burn(uint256)": "infinite" - } - } -} \ No newline at end of file -- gitstuff