27738 lines
1.1 MiB
27738 lines
1.1 MiB
{
|
|
"contractName": "ERC721",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "name_",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "symbol_",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "approved",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Approval",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "operator",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "approved",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "ApprovalForAll",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Transfer",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "balanceOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ownerOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "name",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "symbol",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "tokenURI",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "approve",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getApproved",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "operator",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "approved",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setApprovalForAll",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "operator",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isApprovedForAll",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "transferFrom",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "safeTransferFrom",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tokenId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "safeTransferFrom",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}",
|
|
"bytecode": "0x60806040523480156200001157600080fd5b50604051620026dd380380620026dd8339818101604052810190620000379190620001f6565b8160009081620000489190620004c6565b5080600190816200005a9190620004c6565b505050620005ad565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000cc8262000081565b810181811067ffffffffffffffff82111715620000ee57620000ed62000092565b5b80604052505050565b60006200010362000063565b9050620001118282620000c1565b919050565b600067ffffffffffffffff82111562000134576200013362000092565b5b6200013f8262000081565b9050602081019050919050565b60005b838110156200016c5780820151818401526020810190506200014f565b60008484015250505050565b60006200018f620001898462000116565b620000f7565b905082815260208101848484011115620001ae57620001ad6200007c565b5b620001bb8482856200014c565b509392505050565b600082601f830112620001db57620001da62000077565b5b8151620001ed84826020860162000178565b91505092915050565b6000806040838503121562000210576200020f6200006d565b5b600083015167ffffffffffffffff81111562000231576200023062000072565b5b6200023f85828601620001c3565b925050602083015167ffffffffffffffff81111562000263576200026262000072565b5b6200027185828601620001c3565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002ce57607f821691505b602082108103620002e457620002e362000286565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200034e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200030f565b6200035a86836200030f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003a7620003a16200039b8462000372565b6200037c565b62000372565b9050919050565b6000819050919050565b620003c38362000386565b620003db620003d282620003ae565b8484546200031c565b825550505050565b600090565b620003f2620003e3565b620003ff818484620003b8565b505050565b5b8181101562000427576200041b600082620003e8565b60018101905062000405565b5050565b601f82111562000476576200044081620002ea565b6200044b84620002ff565b810160208510156200045b578190505b620004736200046a85620002ff565b83018262000404565b50505b505050565b600082821c905092915050565b60006200049b600019846008026200047b565b1980831691505092915050565b6000620004b6838362000488565b9150826002028217905092915050565b620004d1826200027b565b67ffffffffffffffff811115620004ed57620004ec62000092565b5b620004f98254620002b5565b620005068282856200042b565b600060209050601f8311600181146200053e576000841562000529578287015190505b620005358582620004a8565b865550620005a5565b601f1984166200054e86620002ea565b60005b82811015620005785784890151825560018201915060208501945060208101905062000551565b8683101562000598578489015162000594601f89168262000488565b8355505b6001600288020188555050505b505050505050565b61212080620005bd6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb46514610224578063b88d4fde14610240578063c87b56dd1461025c578063e985e9c51461028c576100cf565b80636352211e146101a657806370a08231146101d657806395d89b4114610206576100cf565b806301ffc9a7146100d457806306fdde0314610104578063081812fc14610122578063095ea7b31461015257806323b872dd1461016e57806342842e0e1461018a575b600080fd5b6100ee60048036038101906100e991906114f4565b6102bc565b6040516100fb919061153c565b60405180910390f35b61010c61039e565b60405161011991906115e7565b60405180910390f35b61013c6004803603810190610137919061163f565b610430565b60405161014991906116ad565b60405180910390f35b61016c600480360381019061016791906116f4565b610476565b005b61018860048036038101906101839190611734565b61058d565b005b6101a4600480360381019061019f9190611734565b6105ed565b005b6101c060048036038101906101bb919061163f565b61060d565b6040516101cd91906116ad565b60405180910390f35b6101f060048036038101906101eb9190611787565b610693565b6040516101fd91906117c3565b60405180910390f35b61020e61074a565b60405161021b91906115e7565b60405180910390f35b61023e6004803603810190610239919061180a565b6107dc565b005b61025a6004803603810190610255919061197f565b6107f2565b005b6102766004803603810190610271919061163f565b610854565b60405161028391906115e7565b60405180910390f35b6102a660048036038101906102a19190611a02565b6108bc565b6040516102b3919061153c565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610397575061039682610950565b5b9050919050565b6060600080546103ad90611a71565b80601f01602080910402602001604051908101604052809291908181526020018280546103d990611a71565b80156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b600061043b826109ba565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104818261060d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e890611b14565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610510610a05565b73ffffffffffffffffffffffffffffffffffffffff16148061053f575061053e81610539610a05565b6108bc565b5b61057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590611ba6565b60405180910390fd5b6105888383610a0d565b505050565b61059e610598610a05565b82610ac6565b6105dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d490611c38565b60405180910390fd5b6105e8838383610b5b565b505050565b610608838383604051806020016040528060008152506107f2565b505050565b60008061061983610e54565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068190611ca4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90611d36565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606001805461075990611a71565b80601f016020809104026020016040519081016040528092919081815260200182805461078590611a71565b80156107d25780601f106107a7576101008083540402835291602001916107d2565b820191906000526020600020905b8154815290600101906020018083116107b557829003601f168201915b5050505050905090565b6107ee6107e7610a05565b8383610e91565b5050565b6108036107fd610a05565b83610ac6565b610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611c38565b60405180910390fd5b61084e84848484610ffd565b50505050565b606061085f826109ba565b6000610869611059565b9050600081511161088957604051806020016040528060008152506108b4565b8061089384611070565b6040516020016108a4929190611d92565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6109c38161113e565b610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990611ca4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610a808361060d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610ad28361060d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b145750610b1381856108bc565b5b80610b5257508373ffffffffffffffffffffffffffffffffffffffff16610b3a84610430565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610b7b8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611e28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611eba565b60405180910390fd5b610c4d838383600161117f565b8273ffffffffffffffffffffffffffffffffffffffff16610c6d8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90611e28565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e4f8383836001611185565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690611f26565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ff0919061153c565b60405180910390a3505050565b611008848484610b5b565b6110148484848461118b565b611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a90611fb8565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161107f84611312565b01905060008167ffffffffffffffff81111561109e5761109d611854565b5b6040519080825280601f01601f1916602001820160405280156110d05781602001600182028036833780820191505090505b509050600082602001820190505b600115611133578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161112757611126611fd8565b5b049450600085036110de575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661116083610e54565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b60006111ac8473ffffffffffffffffffffffffffffffffffffffff16611465565b15611305578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026111d5610a05565b8786866040518563ffffffff1660e01b81526004016111f7949392919061205c565b6020604051808303816000875af192505050801561123357506040513d601f19601f8201168201806040525081019061123091906120bd565b60015b6112b5573d8060008114611263576040519150601f19603f3d011682016040523d82523d6000602084013e611268565b606091505b5060008151036112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490611fb8565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061130a565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611370577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161136657611365611fd8565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106113ad576d04ee2d6d415b85acef810000000083816113a3576113a2611fd8565b5b0492506020810190505b662386f26fc1000083106113dc57662386f26fc1000083816113d2576113d1611fd8565b5b0492506010810190505b6305f5e1008310611405576305f5e10083816113fb576113fa611fd8565b5b0492506008810190505b612710831061142a5761271083816114205761141f611fd8565b5b0492506004810190505b6064831061144d576064838161144357611442611fd8565b5b0492506002810190505b600a831061145c576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6114d18161149c565b81146114dc57600080fd5b50565b6000813590506114ee816114c8565b92915050565b60006020828403121561150a57611509611492565b5b6000611518848285016114df565b91505092915050565b60008115159050919050565b61153681611521565b82525050565b6000602082019050611551600083018461152d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611591578082015181840152602081019050611576565b60008484015250505050565b6000601f19601f8301169050919050565b60006115b982611557565b6115c38185611562565b93506115d3818560208601611573565b6115dc8161159d565b840191505092915050565b6000602082019050818103600083015261160181846115ae565b905092915050565b6000819050919050565b61161c81611609565b811461162757600080fd5b50565b60008135905061163981611613565b92915050565b60006020828403121561165557611654611492565b5b60006116638482850161162a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116978261166c565b9050919050565b6116a78161168c565b82525050565b60006020820190506116c2600083018461169e565b92915050565b6116d18161168c565b81146116dc57600080fd5b50565b6000813590506116ee816116c8565b92915050565b6000806040838503121561170b5761170a611492565b5b6000611719858286016116df565b925050602061172a8582860161162a565b9150509250929050565b60008060006060848603121561174d5761174c611492565b5b600061175b868287016116df565b935050602061176c868287016116df565b925050604061177d8682870161162a565b9150509250925092565b60006020828403121561179d5761179c611492565b5b60006117ab848285016116df565b91505092915050565b6117bd81611609565b82525050565b60006020820190506117d860008301846117b4565b92915050565b6117e781611521565b81146117f257600080fd5b50565b600081359050611804816117de565b92915050565b6000806040838503121561182157611820611492565b5b600061182f858286016116df565b9250506020611840858286016117f5565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61188c8261159d565b810181811067ffffffffffffffff821117156118ab576118aa611854565b5b80604052505050565b60006118be611488565b90506118ca8282611883565b919050565b600067ffffffffffffffff8211156118ea576118e9611854565b5b6118f38261159d565b9050602081019050919050565b82818337600083830152505050565b600061192261191d846118cf565b6118b4565b90508281526020810184848401111561193e5761193d61184f565b5b611949848285611900565b509392505050565b600082601f8301126119665761196561184a565b5b813561197684826020860161190f565b91505092915050565b6000806000806080858703121561199957611998611492565b5b60006119a7878288016116df565b94505060206119b8878288016116df565b93505060406119c98782880161162a565b925050606085013567ffffffffffffffff8111156119ea576119e9611497565b5b6119f687828801611951565b91505092959194509250565b60008060408385031215611a1957611a18611492565b5b6000611a27858286016116df565b9250506020611a38858286016116df565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a8957607f821691505b602082108103611a9c57611a9b611a42565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611afe602183611562565b9150611b0982611aa2565b604082019050919050565b60006020820190508181036000830152611b2d81611af1565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611b90603d83611562565b9150611b9b82611b34565b604082019050919050565b60006020820190508181036000830152611bbf81611b83565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611c22602d83611562565b9150611c2d82611bc6565b604082019050919050565b60006020820190508181036000830152611c5181611c15565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000611c8e601883611562565b9150611c9982611c58565b602082019050919050565b60006020820190508181036000830152611cbd81611c81565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000611d20602983611562565b9150611d2b82611cc4565b604082019050919050565b60006020820190508181036000830152611d4f81611d13565b9050919050565b600081905092915050565b6000611d6c82611557565b611d768185611d56565b9350611d86818560208601611573565b80840191505092915050565b6000611d9e8285611d61565b9150611daa8284611d61565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611e12602583611562565b9150611e1d82611db6565b604082019050919050565b60006020820190508181036000830152611e4181611e05565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611ea4602483611562565b9150611eaf82611e48565b604082019050919050565b60006020820190508181036000830152611ed381611e97565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000611f10601983611562565b9150611f1b82611eda565b602082019050919050565b60006020820190508181036000830152611f3f81611f03565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000611fa2603283611562565b9150611fad82611f46565b604082019050919050565b60006020820190508181036000830152611fd181611f95565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b600061202e82612007565b6120388185612012565b9350612048818560208601611573565b6120518161159d565b840191505092915050565b6000608082019050612071600083018761169e565b61207e602083018661169e565b61208b60408301856117b4565b818103606083015261209d8184612023565b905095945050505050565b6000815190506120b7816114c8565b92915050565b6000602082840312156120d3576120d2611492565b5b60006120e1848285016120a8565b9150509291505056fea26469706673582212207506c8137360520a4d887fc5ae21ad7b118eef05f2bc19d7c60b21811aecee1964736f6c63430008130033",
|
|
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb46514610224578063b88d4fde14610240578063c87b56dd1461025c578063e985e9c51461028c576100cf565b80636352211e146101a657806370a08231146101d657806395d89b4114610206576100cf565b806301ffc9a7146100d457806306fdde0314610104578063081812fc14610122578063095ea7b31461015257806323b872dd1461016e57806342842e0e1461018a575b600080fd5b6100ee60048036038101906100e991906114f4565b6102bc565b6040516100fb919061153c565b60405180910390f35b61010c61039e565b60405161011991906115e7565b60405180910390f35b61013c6004803603810190610137919061163f565b610430565b60405161014991906116ad565b60405180910390f35b61016c600480360381019061016791906116f4565b610476565b005b61018860048036038101906101839190611734565b61058d565b005b6101a4600480360381019061019f9190611734565b6105ed565b005b6101c060048036038101906101bb919061163f565b61060d565b6040516101cd91906116ad565b60405180910390f35b6101f060048036038101906101eb9190611787565b610693565b6040516101fd91906117c3565b60405180910390f35b61020e61074a565b60405161021b91906115e7565b60405180910390f35b61023e6004803603810190610239919061180a565b6107dc565b005b61025a6004803603810190610255919061197f565b6107f2565b005b6102766004803603810190610271919061163f565b610854565b60405161028391906115e7565b60405180910390f35b6102a660048036038101906102a19190611a02565b6108bc565b6040516102b3919061153c565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610397575061039682610950565b5b9050919050565b6060600080546103ad90611a71565b80601f01602080910402602001604051908101604052809291908181526020018280546103d990611a71565b80156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b600061043b826109ba565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104818261060d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e890611b14565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610510610a05565b73ffffffffffffffffffffffffffffffffffffffff16148061053f575061053e81610539610a05565b6108bc565b5b61057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590611ba6565b60405180910390fd5b6105888383610a0d565b505050565b61059e610598610a05565b82610ac6565b6105dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d490611c38565b60405180910390fd5b6105e8838383610b5b565b505050565b610608838383604051806020016040528060008152506107f2565b505050565b60008061061983610e54565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068190611ca4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90611d36565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606001805461075990611a71565b80601f016020809104026020016040519081016040528092919081815260200182805461078590611a71565b80156107d25780601f106107a7576101008083540402835291602001916107d2565b820191906000526020600020905b8154815290600101906020018083116107b557829003601f168201915b5050505050905090565b6107ee6107e7610a05565b8383610e91565b5050565b6108036107fd610a05565b83610ac6565b610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611c38565b60405180910390fd5b61084e84848484610ffd565b50505050565b606061085f826109ba565b6000610869611059565b9050600081511161088957604051806020016040528060008152506108b4565b8061089384611070565b6040516020016108a4929190611d92565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6109c38161113e565b610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990611ca4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610a808361060d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610ad28361060d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b145750610b1381856108bc565b5b80610b5257508373ffffffffffffffffffffffffffffffffffffffff16610b3a84610430565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610b7b8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611e28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611eba565b60405180910390fd5b610c4d838383600161117f565b8273ffffffffffffffffffffffffffffffffffffffff16610c6d8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90611e28565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e4f8383836001611185565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690611f26565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ff0919061153c565b60405180910390a3505050565b611008848484610b5b565b6110148484848461118b565b611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a90611fb8565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161107f84611312565b01905060008167ffffffffffffffff81111561109e5761109d611854565b5b6040519080825280601f01601f1916602001820160405280156110d05781602001600182028036833780820191505090505b509050600082602001820190505b600115611133578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161112757611126611fd8565b5b049450600085036110de575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661116083610e54565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b60006111ac8473ffffffffffffffffffffffffffffffffffffffff16611465565b15611305578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026111d5610a05565b8786866040518563ffffffff1660e01b81526004016111f7949392919061205c565b6020604051808303816000875af192505050801561123357506040513d601f19601f8201168201806040525081019061123091906120bd565b60015b6112b5573d8060008114611263576040519150601f19603f3d011682016040523d82523d6000602084013e611268565b606091505b5060008151036112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490611fb8565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061130a565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611370577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161136657611365611fd8565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106113ad576d04ee2d6d415b85acef810000000083816113a3576113a2611fd8565b5b0492506020810190505b662386f26fc1000083106113dc57662386f26fc1000083816113d2576113d1611fd8565b5b0492506010810190505b6305f5e1008310611405576305f5e10083816113fb576113fa611fd8565b5b0492506008810190505b612710831061142a5761271083816114205761141f611fd8565b5b0492506004810190505b6064831061144d576064838161144357611442611fd8565b5b0492506002810190505b600a831061145c576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6114d18161149c565b81146114dc57600080fd5b50565b6000813590506114ee816114c8565b92915050565b60006020828403121561150a57611509611492565b5b6000611518848285016114df565b91505092915050565b60008115159050919050565b61153681611521565b82525050565b6000602082019050611551600083018461152d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611591578082015181840152602081019050611576565b60008484015250505050565b6000601f19601f8301169050919050565b60006115b982611557565b6115c38185611562565b93506115d3818560208601611573565b6115dc8161159d565b840191505092915050565b6000602082019050818103600083015261160181846115ae565b905092915050565b6000819050919050565b61161c81611609565b811461162757600080fd5b50565b60008135905061163981611613565b92915050565b60006020828403121561165557611654611492565b5b60006116638482850161162a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116978261166c565b9050919050565b6116a78161168c565b82525050565b60006020820190506116c2600083018461169e565b92915050565b6116d18161168c565b81146116dc57600080fd5b50565b6000813590506116ee816116c8565b92915050565b6000806040838503121561170b5761170a611492565b5b6000611719858286016116df565b925050602061172a8582860161162a565b9150509250929050565b60008060006060848603121561174d5761174c611492565b5b600061175b868287016116df565b935050602061176c868287016116df565b925050604061177d8682870161162a565b9150509250925092565b60006020828403121561179d5761179c611492565b5b60006117ab848285016116df565b91505092915050565b6117bd81611609565b82525050565b60006020820190506117d860008301846117b4565b92915050565b6117e781611521565b81146117f257600080fd5b50565b600081359050611804816117de565b92915050565b6000806040838503121561182157611820611492565b5b600061182f858286016116df565b9250506020611840858286016117f5565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61188c8261159d565b810181811067ffffffffffffffff821117156118ab576118aa611854565b5b80604052505050565b60006118be611488565b90506118ca8282611883565b919050565b600067ffffffffffffffff8211156118ea576118e9611854565b5b6118f38261159d565b9050602081019050919050565b82818337600083830152505050565b600061192261191d846118cf565b6118b4565b90508281526020810184848401111561193e5761193d61184f565b5b611949848285611900565b509392505050565b600082601f8301126119665761196561184a565b5b813561197684826020860161190f565b91505092915050565b6000806000806080858703121561199957611998611492565b5b60006119a7878288016116df565b94505060206119b8878288016116df565b93505060406119c98782880161162a565b925050606085013567ffffffffffffffff8111156119ea576119e9611497565b5b6119f687828801611951565b91505092959194509250565b60008060408385031215611a1957611a18611492565b5b6000611a27858286016116df565b9250506020611a38858286016116df565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611a8957607f821691505b602082108103611a9c57611a9b611a42565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611afe602183611562565b9150611b0982611aa2565b604082019050919050565b60006020820190508181036000830152611b2d81611af1565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611b90603d83611562565b9150611b9b82611b34565b604082019050919050565b60006020820190508181036000830152611bbf81611b83565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611c22602d83611562565b9150611c2d82611bc6565b604082019050919050565b60006020820190508181036000830152611c5181611c15565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000611c8e601883611562565b9150611c9982611c58565b602082019050919050565b60006020820190508181036000830152611cbd81611c81565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000611d20602983611562565b9150611d2b82611cc4565b604082019050919050565b60006020820190508181036000830152611d4f81611d13565b9050919050565b600081905092915050565b6000611d6c82611557565b611d768185611d56565b9350611d86818560208601611573565b80840191505092915050565b6000611d9e8285611d61565b9150611daa8284611d61565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611e12602583611562565b9150611e1d82611db6565b604082019050919050565b60006020820190508181036000830152611e4181611e05565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611ea4602483611562565b9150611eaf82611e48565b604082019050919050565b60006020820190508181036000830152611ed381611e97565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000611f10601983611562565b9150611f1b82611eda565b602082019050919050565b60006020820190508181036000830152611f3f81611f03565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000611fa2603283611562565b9150611fad82611f46565b604082019050919050565b60006020820190508181036000830152611fd181611f95565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b600061202e82612007565b6120388185612012565b9350612048818560208601611573565b6120518161159d565b840191505092915050565b6000608082019050612071600083018761169e565b61207e602083018661169e565b61208b60408301856117b4565b818103606083015261209d8184612023565b905095945050505050565b6000815190506120b7816114c8565b92915050565b6000602082840312156120d3576120d2611492565b5b60006120e1848285016120a8565b9150509291505056fea26469706673582212207506c8137360520a4d887fc5ae21ad7b118eef05f2bc19d7c60b21811aecee1964736f6c63430008130033",
|
|
"immutableReferences": {},
|
|
"generatedSources": [
|
|
{
|
|
"ast": {
|
|
"nodeType": "YulBlock",
|
|
"src": "0:8574:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "47:35:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "57:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "73:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "67:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "67:9:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "57:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "allocate_unbounded",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"returnVariables": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "40:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "7:75:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "177:28:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "194:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "197:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "187:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "187:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "187:12:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "88:117:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "300:28:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "317:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "320:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "310:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "310:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "310:12:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "211:117:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "423:28:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "440:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "443:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "433:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "433:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "433:12:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "334:117:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "546:28:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "563:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "566:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "556:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "556:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "556:12:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "457:117:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "628:54:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "638:38:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "656:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "663:2:15",
|
|
"type": "",
|
|
"value": "31"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "652:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "652:14:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "672:2:15",
|
|
"type": "",
|
|
"value": "31"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "not",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "668:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "668:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "648:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "648:28:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "result",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "638:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "round_up_to_mul_of_32",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "611:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "result",
|
|
"nodeType": "YulTypedName",
|
|
"src": "621:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "580:102:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "716:152:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "733:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "736:77:15",
|
|
"type": "",
|
|
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "726:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "726:88:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "726:88:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "830:1:15",
|
|
"type": "",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "833:4:15",
|
|
"type": "",
|
|
"value": "0x41"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "823:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "823:15:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "823:15:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "854:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "857:4:15",
|
|
"type": "",
|
|
"value": "0x24"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "847:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "847:15:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "847:15:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "panic_error_0x41",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "688:180:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "917:238:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "927:58:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "949:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "979:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "round_up_to_mul_of_32",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "957:21:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "957:27:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "945:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "945:40:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "newFreePtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "931:10:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1096:22:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "panic_error_0x41",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1098:16:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1098:18:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1098:18:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "newFreePtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1039:10:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1051:18:15",
|
|
"type": "",
|
|
"value": "0xffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1036:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1036:34:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "newFreePtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1075:10:15"
|
|
},
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1087:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1072:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1072:22:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "or",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1033:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1033:62:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "1030:88:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1134:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
},
|
|
{
|
|
"name": "newFreePtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1138:10:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1127:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1127:22:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1127:22:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "finalize_allocation",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "903:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulTypedName",
|
|
"src": "911:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "874:281:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1202:88:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1212:30:15",
|
|
"value": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "allocate_unbounded",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1222:18:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1222:20:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1212:6:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1271:6:15"
|
|
},
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1279:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "finalize_allocation",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1251:19:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1251:33:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1251:33:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "allocate_memory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1186:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1195:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1161:129:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1363:241:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1468:22:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "panic_error_0x41",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1470:16:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1470:18:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1470:18:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1440:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1448:18:15",
|
|
"type": "",
|
|
"value": "0xffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1437:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1437:30:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "1434:56:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1500:37:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1530:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "round_up_to_mul_of_32",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1508:21:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1508:29:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1500:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1574:23:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1586:4:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1592:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1582:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1582:15:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1574:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "array_allocation_size_t_string_memory_ptr",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1347:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1358:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1296:308:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1672:184:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "1682:10:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1691:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1686:1:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1751:63:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1776:3:15"
|
|
},
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1781:1:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1772:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1772:11:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1795:3:15"
|
|
},
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1800:1:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1791:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1791:11:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1785:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1785:18:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1765:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1765:39:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1765:39:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1712:1:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1715:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1709:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1709:13:15"
|
|
},
|
|
"nodeType": "YulForLoop",
|
|
"post": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1723:19:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1725:15:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1734:1:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1737:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1730:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1730:10:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1725:1:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"pre": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1705:3:15",
|
|
"statements": []
|
|
},
|
|
"src": "1701:113:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1834:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1839:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1830:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1830:16:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1848:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1823:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1823:27:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1823:27:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "copy_memory_to_memory_with_cleanup",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1654:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1659:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1664:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1610:246:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1957:339:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1967:75:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2034:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_allocation_size_t_string_memory_ptr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1992:41:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1992:49:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "allocate_memory",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1976:15:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1976:66:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1967:5:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2058:5:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2065:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2051:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2051:21:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2051:21:15"
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "2081:27:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2096:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2103:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2092:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2092:16:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2085:3:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2146:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2148:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2148:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2148:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2127:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2132:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2123:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2123:16:15"
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2141:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2120:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2120:25:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "2117:112:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2273:3:15"
|
|
},
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2278:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2283:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "copy_memory_to_memory_with_cleanup",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2238:34:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2238:52:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2238:52:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1930:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1935:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1943:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1951:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1862:434:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2389:282:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2438:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2440:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2440:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2440:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2417:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2425:4:15",
|
|
"type": "",
|
|
"value": "0x1f"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2413:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2413:17:15"
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2432:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2409:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2409:27:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2402:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2402:35:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "2399:122:15"
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "2530:27:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2550:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2544:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2544:13:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2534:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2566:99:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2638:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2646:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2634:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2634:17:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2653:6:15"
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2661:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2575:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2575:90:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2566:5:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_string_memory_ptr_fromMemory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2367:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2375:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2383:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2316:355:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2791:739:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2837:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2839:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2839:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2839:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2812:7:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2821:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2808:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2808:23:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2833:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2804:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2804:32:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "2801:119:15"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "2930:291:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "2945:38:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2969:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2980:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2965:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2965:17:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2959:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2959:24:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2949:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3030:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3032:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3032:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3032:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3002:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3010:18:15",
|
|
"type": "",
|
|
"value": "0xffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2999:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2999:30:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "2996:117:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3127:84:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3183:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3194:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3179:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3179:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3203:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_string_memory_ptr_fromMemory",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3137:41:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3137:74:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3127:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "3231:292:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "3246:39:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3270:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3281:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3266:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3266:18:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3260:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3260:25:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3250:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3332:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3334:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3334:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3334:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3304:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3312:18:15",
|
|
"type": "",
|
|
"value": "0xffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3301:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3301:30:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "3298:117:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3429:84:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3485:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3496:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3481:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3481:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3505:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_string_memory_ptr_fromMemory",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3439:41:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3439:74:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3429:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2753:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2764:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2776:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2784:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2677:853:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3595:40:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3606:22:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3622:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3616:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3616:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3606:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "array_length_t_string_memory_ptr",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3578:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3588:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3536:99:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3669:152:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3686:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3689:77:15",
|
|
"type": "",
|
|
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3679:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3679:88:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3679:88:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3783:1:15",
|
|
"type": "",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3786:4:15",
|
|
"type": "",
|
|
"value": "0x22"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3776:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3776:15:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3776:15:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3807:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3810:4:15",
|
|
"type": "",
|
|
"value": "0x24"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3800:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3800:15:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3800:15:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "panic_error_0x22",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "3641:180:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3878:269:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3888:22:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3902:4:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3908:1:15",
|
|
"type": "",
|
|
"value": "2"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "div",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3898:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3898:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3888:6:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "3919:38:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3949:4:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3955:1:15",
|
|
"type": "",
|
|
"value": "1"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3945:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3945:12:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "outOfPlaceEncoding",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3923:18:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3996:51:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4010:27:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4024:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4032:4:15",
|
|
"type": "",
|
|
"value": "0x7f"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4020:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4020:17:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4010:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "outOfPlaceEncoding",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3976:18:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3969:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3969:26:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "3966:81:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4099:42:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "panic_error_0x22",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4113:16:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4113:18:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4113:18:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "outOfPlaceEncoding",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4063:18:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4086:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4094:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4083:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4083:14:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "eq",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4060:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4060:38:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "4057:84:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "extract_byte_array_length",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3862:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3871:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3827:320:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4207:87:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4217:11:15",
|
|
"value": {
|
|
"name": "ptr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4225:3:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4217:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4245:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"name": "ptr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4248:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4238:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4238:14:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4238:14:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4261:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4279:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4282:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "keccak256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4269:9:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4269:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4261:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "array_dataslot_t_string_storage",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "ptr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4194:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4202:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4153:141:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4344:49:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4354:33:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4372:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4379:2:15",
|
|
"type": "",
|
|
"value": "31"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4368:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4368:14:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4384:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "div",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4364:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4364:23:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "result",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4354:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "divide_by_32_ceil",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4327:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "result",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4337:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4300:93:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4452:54:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4462:37:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "bits",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4487:4:15"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4493:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "shl",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4483:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4483:16:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "newValue",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4462:8:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "shift_left_dynamic",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "bits",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4427:4:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4433:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "newValue",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4443:8:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4399:107:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4588:317:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "4598:35:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "shiftBytes",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4619:10:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4631:1:15",
|
|
"type": "",
|
|
"value": "8"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mul",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4615:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4615:18:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "shiftBits",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4602:9:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "4642:109:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "shiftBits",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4673:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4684:66:15",
|
|
"type": "",
|
|
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "shift_left_dynamic",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4654:18:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4654:97:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "mask",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4646:4:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4760:51:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "shiftBits",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4791:9:15"
|
|
},
|
|
{
|
|
"name": "toInsert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4802:8:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "shift_left_dynamic",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4772:18:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4772:39:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "toInsert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4760:8:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4820:30:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4833:5:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "mask",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4844:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "not",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4840:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4840:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4829:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4829:21:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4820:5:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4859:40:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4872:5:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "toInsert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4883:8:15"
|
|
},
|
|
{
|
|
"name": "mask",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4893:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4879:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4879:19:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "or",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4869:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4869:30:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "result",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4859:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "update_byte_slice_dynamic32",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4549:5:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "shiftBytes",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4556:10:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "toInsert",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4568:8:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "result",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4581:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4512:393:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4956:32:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4966:16:15",
|
|
"value": {
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4977:5:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4966:7:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4938:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4948:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4911:77:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5026:28:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5036:12:15",
|
|
"value": {
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5043:5:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "ret",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5036:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "identity",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5012:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "ret",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5022:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4994:60:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5120:82:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5130:66:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5188:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5170:17:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5170:24:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "identity",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5161:8:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5161:34:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5143:17:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5143:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "converted",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5130:9:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "convert_t_uint256_to_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5100:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "converted",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5110:9:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "5060:142:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5255:28:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5265:12:15",
|
|
"value": {
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5272:5:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "ret",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5265:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "prepare_store_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5241:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "ret",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5251:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "5208:75:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5365:193:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "5375:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value_0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5430:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "convert_t_uint256_to_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5399:30:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5399:39:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "convertedValue_0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5379:16:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5454:4:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5494:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5488:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5488:11:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5501:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "convertedValue_0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5533:16:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "prepare_store_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5509:23:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5509:41:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "update_byte_slice_dynamic32",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5460:27:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5460:91:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5447:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5447:105:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "5447:105:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "update_storage_value_t_uint256_to_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5342:4:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5348:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value_0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5356:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "5289:269:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5613:24:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5623:8:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5630:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "ret",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5623:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "zero_value_for_split_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"returnVariables": [
|
|
{
|
|
"name": "ret",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5609:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "5564:73:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5696:136:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "5706:46:15",
|
|
"value": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "zero_value_for_split_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5720:30:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5720:32:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "zero_0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5710:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5805:4:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5811:6:15"
|
|
},
|
|
{
|
|
"name": "zero_0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5819:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "update_storage_value_t_uint256_to_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5761:43:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5761:65:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "5761:65:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "storage_set_to_zero_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5682:4:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5688:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "5643:189:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5888:136:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5955:63:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "start",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5999:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6006:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "storage_set_to_zero_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5969:29:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5969:39:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "5969:39:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "start",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5908:5:15"
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5915:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5905:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5905:14:15"
|
|
},
|
|
"nodeType": "YulForLoop",
|
|
"post": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5920:26:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5922:22:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "start",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5935:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5942:1:15",
|
|
"type": "",
|
|
"value": "1"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5931:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5931:13:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "start",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5922:5:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"pre": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5902:2:15",
|
|
"statements": []
|
|
},
|
|
"src": "5898:120:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "clear_storage_range_t_bytes1",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "start",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5876:5:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5883:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "5838:186:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6109:464:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6135:431:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "6149:54:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6197:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_dataslot_t_string_storage",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6165:31:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6165:38:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "dataArea",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6153:8:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "6216:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "dataArea",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6239:8:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "startIndex",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6267:10:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "divide_by_32_ceil",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6249:17:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6249:29:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6235:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6235:44:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "deleteStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6220:11:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6436:27:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "6438:23:15",
|
|
"value": {
|
|
"name": "dataArea",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6453:8:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "deleteStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6438:11:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "startIndex",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6420:10:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6432:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6417:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6417:18:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "6414:49:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "deleteStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6505:11:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataArea",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6522:8:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "len",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6550:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "divide_by_32_ceil",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6532:17:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6532:22:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6518:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6518:37:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "clear_storage_range_t_bytes1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6476:28:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6476:80:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "6476:80:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "len",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6126:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6131:2:15",
|
|
"type": "",
|
|
"value": "31"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6123:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6123:11:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "6120:446:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "clean_up_bytearray_end_slots_t_string_storage",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6085:5:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "len",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6092:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "startIndex",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6097:10:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "6030:543:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6642:54:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "6652:37:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "bits",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6677:4:15"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6683:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "shr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6673:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6673:16:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "newValue",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6652:8:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "shift_right_unsigned_dynamic",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "bits",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6617:4:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6623:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "newValue",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6633:8:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "6579:117:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6753:118:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "6763:68:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6812:1:15",
|
|
"type": "",
|
|
"value": "8"
|
|
},
|
|
{
|
|
"name": "bytes",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6815:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mul",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6808:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6808:13:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6827:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "not",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6823:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6823:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "shift_right_unsigned_dynamic",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6779:28:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6779:51:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "not",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6775:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6775:56:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "mask",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6767:4:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "6840:25:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6854:4:15"
|
|
},
|
|
{
|
|
"name": "mask",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6860:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6850:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6850:15:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "result",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6840:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "mask_bytes_dynamic",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6730:4:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "bytes",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6736:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "result",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6746:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "6702:169:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6957:214:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "7090:37:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7117:4:15"
|
|
},
|
|
{
|
|
"name": "len",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7123:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mask_bytes_dynamic",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7098:18:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7098:29:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7090:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "7136:29:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7147:4:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7157:1:15",
|
|
"type": "",
|
|
"value": "2"
|
|
},
|
|
{
|
|
"name": "len",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7160:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mul",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7153:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7153:11:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "or",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7144:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7144:21:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "used",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7136:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "extract_used_part_and_set_length_of_short_byte_array",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6938:4:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "len",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6944:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "used",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6952:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "6876:295:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7268:1303:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "7279:51:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7326:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_length_t_string_memory_ptr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7293:32:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7293:37:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "newLen",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7283:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7415:22:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "panic_error_0x41",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7417:16:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7417:18:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7417:18:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "newLen",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7387:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7395:18:15",
|
|
"type": "",
|
|
"value": "0xffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7384:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7384:30:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "7381:56:15"
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "7447:52:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7493:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7487:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7487:11:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "extract_byte_array_length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7461:25:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7461:38:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "oldLen",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7451:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7592:4:15"
|
|
},
|
|
{
|
|
"name": "oldLen",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7598:6:15"
|
|
},
|
|
{
|
|
"name": "newLen",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7606:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "clean_up_bytearray_end_slots_t_string_storage",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7546:45:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7546:67:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7546:67:15"
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "7623:18:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7640:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "srcOffset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7627:9:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "7651:17:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7664:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "srcOffset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7651:9:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"cases": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7715:611:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "7729:37:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "newLen",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7748:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7760:4:15",
|
|
"type": "",
|
|
"value": "0x1f"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "not",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7756:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7756:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7744:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7744:22:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "loopEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7733:7:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "7780:51:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7826:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_dataslot_t_string_storage",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7794:31:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7794:37:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "dstPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7784:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "7844:10:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7853:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7848:1:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7912:163:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "dstPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7937:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7955:3:15"
|
|
},
|
|
{
|
|
"name": "srcOffset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7960:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7951:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7951:19:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7945:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7945:26:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7930:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7930:42:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7930:42:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "7989:24:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "dstPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8003:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "8011:1:15",
|
|
"type": "",
|
|
"value": "1"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7999:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7999:14:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "dstPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7989:6:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "8030:31:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "srcOffset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8047:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "8058:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8043:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8043:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "srcOffset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8030:9:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7878:1:15"
|
|
},
|
|
{
|
|
"name": "loopEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7881:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7875:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7875:14:15"
|
|
},
|
|
"nodeType": "YulForLoop",
|
|
"post": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7890:21:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "7892:17:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7901:1:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7904:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7897:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7897:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7892:1:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"pre": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7871:3:15",
|
|
"statements": []
|
|
},
|
|
"src": "7867:208:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "8111:156:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "8129:43:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8156:3:15"
|
|
},
|
|
{
|
|
"name": "srcOffset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8161:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8152:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8152:19:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8146:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8146:26:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "lastValue",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8133:9:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "dstPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8196:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "lastValue",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8223:9:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "newLen",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8238:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "8246:4:15",
|
|
"type": "",
|
|
"value": "0x1f"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8234:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8234:17:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mask_bytes_dynamic",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8204:18:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8204:48:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8189:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8189:64:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "8189:64:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "loopEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8094:7:15"
|
|
},
|
|
{
|
|
"name": "newLen",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8103:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8091:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8091:19:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "8088:179:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8287:4:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "newLen",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8301:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "8309:1:15",
|
|
"type": "",
|
|
"value": "2"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mul",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8297:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8297:14:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "8313:1:15",
|
|
"type": "",
|
|
"value": "1"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8293:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8293:22:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8280:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8280:36:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "8280:36:15"
|
|
}
|
|
]
|
|
},
|
|
"nodeType": "YulCase",
|
|
"src": "7708:618:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7713:1:15",
|
|
"type": "",
|
|
"value": "1"
|
|
}
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "8343:222:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "8357:14:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "8370:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8361:5:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "8394:67:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "8412:35:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8431:3:15"
|
|
},
|
|
{
|
|
"name": "srcOffset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8436:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8427:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8427:19:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8421:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8421:26:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8412:5:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"name": "newLen",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8387:6:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "8384:77:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8481:4:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8540:5:15"
|
|
},
|
|
{
|
|
"name": "newLen",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8547:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "extract_used_part_and_set_length_of_short_byte_array",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8487:52:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8487:67:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8474:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8474:81:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "8474:81:15"
|
|
}
|
|
]
|
|
},
|
|
"nodeType": "YulCase",
|
|
"src": "8335:230:15",
|
|
"value": "default"
|
|
}
|
|
],
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "newLen",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7688:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7696:2:15",
|
|
"type": "",
|
|
"value": "31"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7685:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7685:14:15"
|
|
},
|
|
"nodeType": "YulSwitch",
|
|
"src": "7678:887:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "slot",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7257:4:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7263:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "7176:1395:15"
|
|
}
|
|
]
|
|
},
|
|
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
|
|
"id": 15,
|
|
"language": "Yul",
|
|
"name": "#utility.yul"
|
|
}
|
|
],
|
|
"deployedGeneratedSources": [
|
|
{
|
|
"ast": {
|
|
"nodeType": "YulBlock",
|
|
"src": "0:23150:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "47:35:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "57:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "73:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "67:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "67:9:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "57:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "allocate_unbounded",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"returnVariables": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "40:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "7:75:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "177:28:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "194:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "197:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "187:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "187:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "187:12:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "88:117:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "300:28:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "317:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "320:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "310:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "310:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "310:12:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "211:117:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "378:105:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "388:89:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "403:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "410:66:15",
|
|
"type": "",
|
|
"value": "0xffffffff00000000000000000000000000000000000000000000000000000000"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "399:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "399:78:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "388:7:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_bytes4",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "360:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "370:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "334:149:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "531:78:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "587:16:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "596:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "599:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "589:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "589:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "589:12:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "554:5:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "578:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_bytes4",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "561:16:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "561:23:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "eq",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "551:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "551:34:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "544:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "544:42:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "541:62:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "validator_revert_t_bytes4",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "524:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "489:120:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "666:86:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "676:29:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "698:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "calldataload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "685:12:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "685:20:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "676:5:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "740:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "validator_revert_t_bytes4",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "714:25:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "714:32:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "714:32:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_bytes4",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "644:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "652:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "660:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "615:137:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "823:262:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "869:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "871:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "871:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "871:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "844:7:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "853:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "840:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "840:23:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "865:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "836:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "836:32:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "833:119:15"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "962:116:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "977:15:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "991:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "981:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1006:62:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1040:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1051:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1036:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1036:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1060:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_bytes4",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1016:19:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1016:52:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1006:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_bytes4",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "793:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "804:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "816:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "758:327:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1133:48:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1143:32:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1168:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1161:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1161:13:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1154:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1154:21:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1143:7:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_bool",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1115:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1125:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1091:90:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1246:50:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1263:3:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1283:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_bool",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1268:14:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1268:21:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1256:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1256:34:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1256:34:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_bool_to_t_bool_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1234:5:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1241:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1187:109:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1394:118:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1404:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1416:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1427:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1412:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1412:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1404:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1478:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1491:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1502:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1487:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1487:17:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_bool_to_t_bool_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1440:37:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1440:65:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1440:65:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1366:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1378:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1389:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1302:210:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1577:40:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1588:22:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1604:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1598:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1598:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1588:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "array_length_t_string_memory_ptr",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1560:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1570:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1518:99:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1719:73:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1736:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1741:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1729:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1729:19:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1729:19:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1757:29:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1776:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1781:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1772:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1772:14:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "updated_pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1757:11:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1691:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1696:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "updated_pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1707:11:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1623:169:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1860:184:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "1870:10:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1879:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1874:1:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1939:63:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1964:3:15"
|
|
},
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1969:1:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1960:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1960:11:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1983:3:15"
|
|
},
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1988:1:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1979:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1979:11:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1973:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1973:18:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1953:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1953:39:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1953:39:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1900:1:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1903:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1897:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1897:13:15"
|
|
},
|
|
"nodeType": "YulForLoop",
|
|
"post": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1911:19:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1913:15:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1922:1:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1925:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1918:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1918:10:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "i",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1913:1:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"pre": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1893:3:15",
|
|
"statements": []
|
|
},
|
|
"src": "1889:113:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2022:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2027:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2018:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2018:16:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2036:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2011:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2011:27:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2011:27:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "copy_memory_to_memory_with_cleanup",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1842:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1847:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1852:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1798:246:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2098:54:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2108:38:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2126:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2133:2:15",
|
|
"type": "",
|
|
"value": "31"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2122:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2122:14:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2142:2:15",
|
|
"type": "",
|
|
"value": "31"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "not",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2138:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2138:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2118:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2118:28:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "result",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2108:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "round_up_to_mul_of_32",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2081:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "result",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2091:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2050:102:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2250:285:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "2260:53:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2307:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_length_t_string_memory_ptr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2274:32:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2274:39:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2264:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2322:78:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2388:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2393:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2329:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2329:71:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2322:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2448:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2455:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2444:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2444:16:15"
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2462:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2467:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "copy_memory_to_memory_with_cleanup",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2409:34:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2409:65:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2409:65:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2483:46:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2494:3:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2521:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "round_up_to_mul_of_32",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2499:21:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2499:29:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2490:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2490:39:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2483:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2231:5:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2238:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2246:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2158:377:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2659:195:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2669:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2681:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2692:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2677:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2677:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2669:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2716:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2727:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2712:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2712:17:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2735:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2741:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2731:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2731:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2705:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2705:47:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2705:47:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2761:86:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2833:6:15"
|
|
},
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2842:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2769:63:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2769:78:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2761:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2631:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2643:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2654:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2541:313:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2905:32:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2915:16:15",
|
|
"value": {
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2926:5:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2915:7:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2887:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2897:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2860:77:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2986:79:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3043:16:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3052:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3055:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3045:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3045:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3045:12:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3009:5:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3034:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3016:17:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3016:24:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "eq",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3006:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3006:35:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2999:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2999:43:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "2996:63:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "validator_revert_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2979:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2943:122:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3123:87:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3133:29:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3155:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "calldataload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3142:12:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3142:20:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3133:5:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3198:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "validator_revert_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3171:26:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3171:33:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3171:33:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3101:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3109:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3117:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3071:139:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3282:263:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3328:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3330:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3330:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3330:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3303:7:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3312:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3299:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3299:23:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3324:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3295:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3295:32:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "3292:119:15"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "3421:117:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "3436:15:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3450:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3440:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3465:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3500:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3511:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3496:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3496:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3520:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3475:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3475:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3465:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3252:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3263:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3275:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3216:329:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3596:81:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3606:65:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3621:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3628:42:15",
|
|
"type": "",
|
|
"value": "0xffffffffffffffffffffffffffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3617:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3617:54:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3606:7:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_uint160",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3578:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3588:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3551:126:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3728:51:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3738:35:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3767:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint160",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3749:17:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3749:24:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3738:7:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_address",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3710:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3720:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3683:96:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3850:53:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3867:3:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3890:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3872:17:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3872:24:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3860:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3860:37:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3860:37:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_address_to_t_address_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3838:5:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3845:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3785:118:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4007:124:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4017:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4029:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4040:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4025:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4025:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4017:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4097:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4110:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4121:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4106:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4106:17:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_address_to_t_address_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4053:43:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4053:71:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4053:71:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3979:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3991:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4002:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3909:222:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4180:79:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4237:16:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4246:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4249:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4239:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4239:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4239:12:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4203:5:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4228:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4210:17:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4210:24:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "eq",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4200:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4200:35:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4193:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4193:43:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "4190:63:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "validator_revert_t_address",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4173:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4137:122:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4317:87:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4327:29:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4349:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "calldataload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4336:12:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4336:20:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4327:5:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4392:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "validator_revert_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4365:26:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4365:33:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4365:33:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4295:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4303:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4311:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4265:139:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4493:391:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4539:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4541:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4541:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4541:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4514:7:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4523:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4510:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4510:23:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4535:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4506:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4506:32:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "4503:119:15"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "4632:117:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "4647:15:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4661:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4651:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4676:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4711:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4722:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4707:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4707:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4731:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4686:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4686:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4676:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "4759:118:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "4774:16:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4788:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4778:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4804:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4839:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4850:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4835:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4835:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4859:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4814:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4814:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4804:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_addresst_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4455:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4466:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4478:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4486:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4410:474:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4990:519:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5036:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5038:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5038:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "5038:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5011:7:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5020:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5007:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5007:23:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5032:2:15",
|
|
"type": "",
|
|
"value": "96"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5003:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5003:32:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "5000:119:15"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "5129:117:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "5144:15:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5158:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5148:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5173:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5208:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5219:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5204:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5204:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5228:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5183:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5183:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5173:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "5256:118:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "5271:16:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5285:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5275:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5301:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5336:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5347:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5332:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5332:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5356:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5311:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5311:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5301:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "5384:118:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "5399:16:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5413:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5403:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5429:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5464:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5475:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5460:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5460:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5484:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5439:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5439:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value2",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5429:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4944:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4955:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4967:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4975:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value2",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4983:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4890:619:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5581:263:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5627:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5629:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5629:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "5629:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5602:7:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5611:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5598:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5598:23:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5623:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5594:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5594:32:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "5591:119:15"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "5720:117:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "5735:15:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5749:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5739:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5764:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5799:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5810:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5795:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5795:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5819:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5774:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5774:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5764:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_address",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5551:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5562:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5574:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "5515:329:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5915:53:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5932:3:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5955:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5937:17:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5937:24:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5925:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5925:37:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "5925:37:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5903:5:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5910:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "5850:118:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6072:124:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "6082:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6094:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6105:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6090:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6090:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6082:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6162:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6175:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6186:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6171:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6171:17:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6118:43:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6118:71:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "6118:71:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6044:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6056:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6067:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "5974:222:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6242:76:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6296:16:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6305:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6308:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6298:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6298:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "6298:12:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6265:5:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6287:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_bool",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6272:14:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6272:21:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "eq",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6262:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6262:32:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6255:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6255:40:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "6252:60:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "validator_revert_t_bool",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6235:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "6202:116:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6373:84:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "6383:29:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6405:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "calldataload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6392:12:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6392:20:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6383:5:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6445:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "validator_revert_t_bool",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6421:23:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6421:30:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "6421:30:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_bool",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6351:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6359:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6367:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "6324:133:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6543:388:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "6589:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6591:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6591:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "6591:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6564:7:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6573:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6560:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6560:23:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6585:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6556:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6556:32:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "6553:119:15"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "6682:117:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "6697:15:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6711:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6701:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "6726:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6761:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6772:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6757:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6757:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6781:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6736:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6736:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6726:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "6809:115:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "6824:16:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "6838:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6828:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "6854:60:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6886:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6897:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6882:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6882:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6906:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_bool",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6864:17:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "6864:50:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "6854:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_addresst_bool",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6505:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6516:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6528:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "6536:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "6463:468:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7026:28:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7043:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7046:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7036:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7036:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7036:12:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "6937:117:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7149:28:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7166:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7169:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7159:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7159:12:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7159:12:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "7060:117:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7211:152:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7228:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7231:77:15",
|
|
"type": "",
|
|
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7221:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7221:88:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7221:88:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7325:1:15",
|
|
"type": "",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7328:4:15",
|
|
"type": "",
|
|
"value": "0x41"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7318:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7318:15:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7318:15:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7349:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7352:4:15",
|
|
"type": "",
|
|
"value": "0x24"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7342:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7342:15:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7342:15:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "panic_error_0x41",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "7183:180:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7412:238:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "7422:58:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7444:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7474:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "round_up_to_mul_of_32",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7452:21:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7452:27:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7440:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7440:40:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "newFreePtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7426:10:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7591:22:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "panic_error_0x41",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7593:16:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7593:18:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7593:18:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "newFreePtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7534:10:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7546:18:15",
|
|
"type": "",
|
|
"value": "0xffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7531:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7531:34:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "newFreePtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7570:10:15"
|
|
},
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7582:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7567:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7567:22:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "or",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7528:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7528:62:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "7525:88:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7629:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
},
|
|
{
|
|
"name": "newFreePtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7633:10:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7622:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7622:22:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7622:22:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "finalize_allocation",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7398:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7406:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "7369:281:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7697:88:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "7707:30:15",
|
|
"value": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "allocate_unbounded",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7717:18:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7717:20:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7707:6:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7766:6:15"
|
|
},
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7774:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "finalize_allocation",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7746:19:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7746:33:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7746:33:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "allocate_memory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7681:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7690:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "7656:129:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7857:241:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "7962:22:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "panic_error_0x41",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7964:16:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7964:18:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "7964:18:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7934:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "7942:18:15",
|
|
"type": "",
|
|
"value": "0xffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7931:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "7931:30:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "7928:56:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "7994:37:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8024:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "round_up_to_mul_of_32",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8002:21:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8002:29:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "7994:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "8068:23:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8080:4:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "8086:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8076:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8076:15:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8068:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "array_allocation_size_t_bytes_memory_ptr",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7841:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "size",
|
|
"nodeType": "YulTypedName",
|
|
"src": "7852:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "7791:307:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "8168:82:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8191:3:15"
|
|
},
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8196:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8201:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "calldatacopy",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8178:12:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8178:30:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "8178:30:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8228:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8233:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8224:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8224:16:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "8242:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8217:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8217:27:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "8217:27:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "copy_calldata_to_memory_with_cleanup",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8150:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8155:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8160:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "8104:146:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "8339:340:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "8349:74:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8415:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_allocation_size_t_bytes_memory_ptr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8374:40:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8374:48:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "allocate_memory",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8358:15:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8358:65:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8349:5:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8439:5:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8446:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8432:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8432:21:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "8432:21:15"
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "8462:27:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8477:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "8484:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8473:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8473:16:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8466:3:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "8527:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8529:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8529:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "8529:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8508:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8513:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8504:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8504:16:15"
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8522:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8501:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8501:25:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "8498:112:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8656:3:15"
|
|
},
|
|
{
|
|
"name": "dst",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8661:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8666:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "copy_calldata_to_memory_with_cleanup",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8619:36:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8619:54:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "8619:54:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_available_length_t_bytes_memory_ptr",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "src",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8312:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8317:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8325:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8333:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "8256:423:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "8759:277:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "8808:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8810:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8810:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "8810:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8787:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "8795:4:15",
|
|
"type": "",
|
|
"value": "0x1f"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8783:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8783:17:15"
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8802:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8779:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8779:27:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8772:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8772:35:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "8769:122:15"
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "8900:34:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8927:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "calldataload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8914:12:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8914:20:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8904:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "8943:87:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9003:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "9011:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8999:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8999:17:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9018:6:15"
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9026:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_available_length_t_bytes_memory_ptr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8952:46:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "8952:78:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "8943:5:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_bytes_memory_ptr",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8737:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8745:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "array",
|
|
"nodeType": "YulTypedName",
|
|
"src": "8753:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "8698:338:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "9168:817:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "9215:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9217:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9217:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "9217:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9189:7:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9198:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9185:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9185:23:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "9210:3:15",
|
|
"type": "",
|
|
"value": "128"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9181:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9181:33:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "9178:120:15"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "9308:117:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "9323:15:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "9337:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "9327:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "9352:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9387:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9398:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9383:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9383:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9407:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9362:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9362:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9352:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "9435:118:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "9450:16:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "9464:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "9454:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "9480:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9515:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9526:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9511:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9511:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9535:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9490:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9490:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9480:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "9563:118:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "9578:16:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "9592:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "9582:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "9608:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9643:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9654:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9639:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9639:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9663:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9618:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9618:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value2",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9608:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "9691:287:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "9706:46:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9737:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "9748:2:15",
|
|
"type": "",
|
|
"value": "96"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9733:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9733:18:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "calldataload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9720:12:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9720:32:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "9710:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "9799:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9801:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9801:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "9801:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9771:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "9779:18:15",
|
|
"type": "",
|
|
"value": "0xffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9768:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9768:30:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "9765:117:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "9896:72:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9940:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9951:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9936:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9936:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9960:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_bytes_memory_ptr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9906:29:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "9906:62:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value3",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "9896:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "9114:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "9125:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "9137:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "9145:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value2",
|
|
"nodeType": "YulTypedName",
|
|
"src": "9153:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value3",
|
|
"nodeType": "YulTypedName",
|
|
"src": "9161:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "9042:943:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "10074:391:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "10120:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10122:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10122:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "10122:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10095:7:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10104:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10091:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10091:23:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10116:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10087:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10087:32:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "10084:119:15"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "10213:117:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "10228:15:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10242:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "10232:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "10257:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10292:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10303:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10288:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10288:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10312:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10267:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10267:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10257:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "10340:118:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "10355:16:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10369:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "10359:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "10385:63:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10420:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10431:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10416:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10416:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10440:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10395:20:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10395:53:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10385:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_addresst_address",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "10036:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "10047:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "10059:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "10067:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "9991:474:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "10499:152:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10516:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10519:77:15",
|
|
"type": "",
|
|
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10509:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10509:88:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "10509:88:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10613:1:15",
|
|
"type": "",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10616:4:15",
|
|
"type": "",
|
|
"value": "0x22"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10606:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10606:15:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "10606:15:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10637:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10640:4:15",
|
|
"type": "",
|
|
"value": "0x24"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10630:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10630:15:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "10630:15:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "panic_error_0x22",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "10471:180:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "10708:269:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "10718:22:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10732:4:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10738:1:15",
|
|
"type": "",
|
|
"value": "2"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "div",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10728:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10728:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10718:6:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "10749:38:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10779:4:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10785:1:15",
|
|
"type": "",
|
|
"value": "1"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10775:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10775:12:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "outOfPlaceEncoding",
|
|
"nodeType": "YulTypedName",
|
|
"src": "10753:18:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "10826:51:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "10840:27:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10854:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10862:4:15",
|
|
"type": "",
|
|
"value": "0x7f"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10850:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10850:17:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10840:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "outOfPlaceEncoding",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10806:18:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10799:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10799:26:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "10796:81:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "10929:42:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "panic_error_0x22",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10943:16:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10943:18:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "10943:18:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "outOfPlaceEncoding",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10893:18:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10916:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "10924:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10913:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10913:14:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "eq",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "10890:2:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "10890:38:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "10887:84:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "extract_byte_array_length",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "data",
|
|
"nodeType": "YulTypedName",
|
|
"src": "10692:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "10701:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "10657:320:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "11089:114:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11111:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "11119:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11107:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11107:14:15"
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "11123:34:15",
|
|
"type": "",
|
|
"value": "ERC721: approval to current owne"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11100:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11100:58:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "11100:58:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11179:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "11187:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11175:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11175:15:15"
|
|
},
|
|
{
|
|
"hexValue": "72",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "11192:3:15",
|
|
"type": "",
|
|
"value": "r"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11168:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11168:28:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "11168:28:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "11081:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "10983:220:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "11355:220:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "11365:74:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11431:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "11436:2:15",
|
|
"type": "",
|
|
"value": "33"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11372:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11372:67:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11365:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11537:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11448:88:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11448:93:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "11448:93:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "11550:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11561:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "11566:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11557:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11557:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11550:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "11343:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "11351:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "11209:366:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "11752:248:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "11762:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11774:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "11785:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11770:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11770:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11762:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11809:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "11820:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11805:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11805:17:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11828:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11834:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11824:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11824:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11798:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11798:47:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "11798:47:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "11854:139:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11988:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11862:124:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "11862:131:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "11854:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "11732:9:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "11747:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "11581:419:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "12112:142:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12134:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "12142:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12130:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12130:14:15"
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "12146:34:15",
|
|
"type": "",
|
|
"value": "ERC721: approve caller is not to"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12123:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12123:58:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "12123:58:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12202:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "12210:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12198:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12198:15:15"
|
|
},
|
|
{
|
|
"hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "12215:31:15",
|
|
"type": "",
|
|
"value": "ken owner or approved for all"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12191:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12191:56:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "12191:56:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "12104:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "12006:248:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "12406:220:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "12416:74:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12482:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "12487:2:15",
|
|
"type": "",
|
|
"value": "61"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12423:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12423:67:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12416:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12588:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12499:88:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12499:93:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "12499:93:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "12601:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12612:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "12617:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12608:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12608:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12601:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "12394:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "12402:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "12260:366:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "12803:248:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "12813:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12825:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "12836:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12821:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12821:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12813:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12860:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "12871:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12856:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12856:17:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12879:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12885:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12875:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12875:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12849:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12849:47:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "12849:47:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "12905:139:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13039:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12913:124:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "12913:131:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "12905:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "12783:9:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "12798:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "12632:419:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "13163:126:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13185:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "13193:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13181:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13181:14:15"
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "13197:34:15",
|
|
"type": "",
|
|
"value": "ERC721: caller is not token owne"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13174:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13174:58:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "13174:58:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13253:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "13261:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13249:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13249:15:15"
|
|
},
|
|
{
|
|
"hexValue": "72206f7220617070726f766564",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "13266:15:15",
|
|
"type": "",
|
|
"value": "r or approved"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13242:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13242:40:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "13242:40:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "13155:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "13057:232:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "13441:220:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "13451:74:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13517:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "13522:2:15",
|
|
"type": "",
|
|
"value": "45"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13458:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13458:67:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13451:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13623:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13534:88:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13534:93:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "13534:93:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "13636:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13647:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "13652:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13643:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13643:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13636:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "13429:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "13437:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "13295:366:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "13838:248:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "13848:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13860:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "13871:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13856:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13856:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13848:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13895:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "13906:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13891:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13891:17:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13914:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13920:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13910:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13910:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13884:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13884:47:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "13884:47:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "13940:139:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14074:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13948:124:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "13948:131:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "13940:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "13818:9:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "13833:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "13667:419:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "14198:68:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14220:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "14228:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14216:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14216:14:15"
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20696e76616c696420746f6b656e204944",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "14232:26:15",
|
|
"type": "",
|
|
"value": "ERC721: invalid token ID"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14209:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14209:50:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "14209:50:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "14190:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "14092:174:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "14418:220:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "14428:74:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14494:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "14499:2:15",
|
|
"type": "",
|
|
"value": "24"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14435:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14435:67:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14428:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14600:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14511:88:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14511:93:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "14511:93:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "14613:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14624:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "14629:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14620:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14620:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14613:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "14406:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "14414:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "14272:366:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "14815:248:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "14825:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14837:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "14848:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14833:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14833:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14825:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14872:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "14883:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14868:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14868:17:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14891:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14897:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14887:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14887:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14861:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14861:47:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "14861:47:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "14917:139:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15051:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14925:124:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14925:131:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14917:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "14795:9:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "14810:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "14644:419:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "15175:122:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15197:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "15205:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15193:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15193:14:15"
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "15209:34:15",
|
|
"type": "",
|
|
"value": "ERC721: address zero is not a va"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15186:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15186:58:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "15186:58:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15265:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "15273:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15261:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15261:15:15"
|
|
},
|
|
{
|
|
"hexValue": "6c6964206f776e6572",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "15278:11:15",
|
|
"type": "",
|
|
"value": "lid owner"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15254:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15254:36:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "15254:36:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "15167:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "15069:228:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "15449:220:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "15459:74:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15525:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "15530:2:15",
|
|
"type": "",
|
|
"value": "41"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15466:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15466:67:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15459:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15631:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15542:88:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15542:93:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "15542:93:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "15644:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15655:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "15660:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15651:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15651:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15644:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "15437:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "15445:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "15303:366:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "15846:248:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "15856:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15868:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "15879:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15864:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15864:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15856:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15903:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "15914:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15899:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15899:17:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15922:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15928:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15918:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15918:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15892:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15892:47:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "15892:47:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "15948:139:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16082:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15956:124:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "15956:131:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "15948:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "15826:9:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "15841:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "15675:419:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "16214:34:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "16224:18:15",
|
|
"value": {
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16239:3:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "updated_pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16224:11:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16186:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16191:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "updated_pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16202:11:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "16100:148:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "16364:280:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "16374:53:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16421:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_length_t_string_memory_ptr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16388:32:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "16388:39:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16378:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "16436:96:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16520:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16525:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16443:76:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "16443:89:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16436:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16580:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "16587:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16576:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "16576:16:15"
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16594:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16599:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "copy_memory_to_memory_with_cleanup",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16541:34:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "16541:65:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "16541:65:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "16615:23:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16626:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16631:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16622:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "16622:16:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16615:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16345:5:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16352:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16360:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "16254:390:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "16834:251:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "16845:102:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16934:6:15"
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16943:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16852:81:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "16852:95:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16845:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "16957:102:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17046:6:15"
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17055:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16964:81:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "16964:95:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "16957:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "17069:10:15",
|
|
"value": {
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17076:3:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17069:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16805:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16811:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16819:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "16830:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "16650:435:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "17197:118:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17219:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "17227:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17215:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17215:14:15"
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "17231:34:15",
|
|
"type": "",
|
|
"value": "ERC721: transfer from incorrect "
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17208:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17208:58:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "17208:58:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17287:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "17295:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17283:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17283:15:15"
|
|
},
|
|
{
|
|
"hexValue": "6f776e6572",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "17300:7:15",
|
|
"type": "",
|
|
"value": "owner"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17276:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17276:32:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "17276:32:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "17189:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "17091:224:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "17467:220:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "17477:74:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17543:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "17548:2:15",
|
|
"type": "",
|
|
"value": "37"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17484:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17484:67:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17477:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17649:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17560:88:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17560:93:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "17560:93:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "17662:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17673:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "17678:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17669:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17669:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17662:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "17455:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "17463:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "17321:366:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "17864:248:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "17874:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17886:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "17897:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17882:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17882:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17874:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17921:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "17932:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17917:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17917:17:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17940:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17946:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17936:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17936:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17910:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17910:47:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "17910:47:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "17966:139:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18100:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17974:124:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "17974:131:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "17966:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "17844:9:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "17859:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "17693:419:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "18224:117:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18246:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "18254:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18242:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18242:14:15"
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "18258:34:15",
|
|
"type": "",
|
|
"value": "ERC721: transfer to the zero add"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18235:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18235:58:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "18235:58:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18314:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "18322:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18310:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18310:15:15"
|
|
},
|
|
{
|
|
"hexValue": "72657373",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "18327:6:15",
|
|
"type": "",
|
|
"value": "ress"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18303:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18303:31:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "18303:31:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "18216:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "18118:223:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "18493:220:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "18503:74:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18569:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "18574:2:15",
|
|
"type": "",
|
|
"value": "36"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18510:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18510:67:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18503:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18675:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18586:88:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18586:93:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "18586:93:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "18688:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18699:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "18704:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18695:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18695:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18688:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "18481:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "18489:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "18347:366:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "18890:248:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "18900:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18912:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "18923:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18908:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18908:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18900:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18947:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "18958:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18943:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18943:17:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18966:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18972:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18962:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18962:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18936:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "18936:47:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "18936:47:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "18992:139:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19126:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19000:124:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19000:131:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "18992:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "18870:9:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "18885:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "18719:419:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "19250:69:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19272:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "19280:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19268:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19268:14:15"
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20617070726f766520746f2063616c6c6572",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "19284:27:15",
|
|
"type": "",
|
|
"value": "ERC721: approve to caller"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19261:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19261:51:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "19261:51:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "19242:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "19144:175:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "19471:220:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "19481:74:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19547:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "19552:2:15",
|
|
"type": "",
|
|
"value": "25"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19488:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19488:67:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19481:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19653:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19564:88:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19564:93:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "19564:93:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "19666:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19677:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "19682:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19673:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19673:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19666:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "19459:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "19467:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "19325:366:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "19868:248:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "19878:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19890:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "19901:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19886:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19886:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19878:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19925:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "19936:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19921:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19921:17:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19944:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19950:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19940:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19940:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19914:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19914:47:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "19914:47:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "19970:139:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20104:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19978:124:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "19978:131:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "19970:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "19848:9:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "19863:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "19697:419:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "20228:131:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20250:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "20258:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20246:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20246:14:15"
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "20262:34:15",
|
|
"type": "",
|
|
"value": "ERC721: transfer to non ERC721Re"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20239:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20239:58:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "20239:58:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20318:6:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "20326:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20314:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20314:15:15"
|
|
},
|
|
{
|
|
"hexValue": "63656976657220696d706c656d656e746572",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "20331:20:15",
|
|
"type": "",
|
|
"value": "ceiver implementer"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20307:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20307:45:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "20307:45:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "20220:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "20122:237:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "20511:220:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "20521:74:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20587:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "20592:2:15",
|
|
"type": "",
|
|
"value": "50"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20528:58:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20528:67:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20521:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20693:3:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20604:88:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20604:93:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "20604:93:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "20706:19:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20717:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "20722:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20713:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20713:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20706:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "20499:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "20507:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "20365:366:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "20908:248:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "20918:26:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20930:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "20941:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20926:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20926:18:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20918:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20965:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "20976:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20961:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20961:17:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20984:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20990:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20980:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20980:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "20954:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "20954:47:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "20954:47:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "21010:139:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21144:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21018:124:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21018:131:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21010:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "20888:9:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "20903:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "20737:419:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "21190:152:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "21207:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "21210:77:15",
|
|
"type": "",
|
|
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21200:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21200:88:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "21200:88:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "21304:1:15",
|
|
"type": "",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "21307:4:15",
|
|
"type": "",
|
|
"value": "0x12"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21297:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21297:15:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "21297:15:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "21328:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "21331:4:15",
|
|
"type": "",
|
|
"value": "0x24"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21321:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21321:15:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "21321:15:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "panic_error_0x12",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "21162:180:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "21406:40:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "21417:22:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21433:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21427:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21427:12:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21417:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "array_length_t_bytes_memory_ptr",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "21389:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "21399:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "21348:98:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "21547:73:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21564:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21569:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21557:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21557:19:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "21557:19:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "21585:29:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21604:3:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "21609:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21600:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21600:14:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "updated_pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21585:11:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "21519:3:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "21524:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "updated_pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "21535:11:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "21452:168:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "21716:283:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "21726:52:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21772:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_length_t_bytes_memory_ptr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21740:31:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21740:38:15"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "21730:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "21787:77:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21852:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21857:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21794:57:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21794:70:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21787:3:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21912:5:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "21919:4:15",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21908:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21908:16:15"
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21926:3:15"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21931:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "copy_memory_to_memory_with_cleanup",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21873:34:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21873:65:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "21873:65:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "21947:46:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21958:3:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21985:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "round_up_to_mul_of_32",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21963:21:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21963:29:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21954:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "21954:39:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "21947:3:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "21697:5:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "21704:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "21712:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "21626:373:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "22205:440:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "22215:27:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22227:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "22238:3:15",
|
|
"type": "",
|
|
"value": "128"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22223:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22223:19:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22215:4:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22296:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22309:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "22320:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22305:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22305:17:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_address_to_t_address_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22252:43:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22252:71:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "22252:71:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22377:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22390:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "22401:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22386:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22386:18:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_address_to_t_address_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22333:43:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22333:72:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "22333:72:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value2",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22459:6:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22472:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "22483:2:15",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22468:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22468:18:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22415:43:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22415:72:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "22415:72:15"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22508:9:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "22519:2:15",
|
|
"type": "",
|
|
"value": "96"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22504:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22504:18:15"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22528:4:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22534:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22524:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22524:20:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22497:6:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22497:48:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "22497:48:15"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "22554:84:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value3",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22624:6:15"
|
|
},
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22633:4:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22562:61:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22562:76:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22554:4:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22153:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value3",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22165:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value2",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22173:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22181:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22189:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22200:4:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "22005:640:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "22713:79:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "22723:22:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22738:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22732:5:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22732:13:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22723:5:15"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22780:5:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "validator_revert_t_bytes4",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22754:25:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22754:32:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "22754:32:15"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_bytes4_fromMemory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22691:6:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22699:3:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22707:5:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "22651:141:15"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "22874:273:15",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "22920:83:15",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22922:77:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22922:79:15"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "22922:79:15"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22895:7:15"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22904:9:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22891:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22891:23:15"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "22916:2:15",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "22887:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "22887:32:15"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "22884:119:15"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "23013:127:15",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "23028:15:15",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "23042:1:15",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "23032:6:15",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "23057:73:15",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "23102:9:15"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "23113:6:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "23098:3:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "23098:22:15"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "23122:7:15"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_bytes4_fromMemory",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "23067:30:15"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "23067:63:15"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "23057:6:15"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_bytes4_fromMemory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22844:9:15",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22855:7:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "22867:6:15",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "22798:349:15"
|
|
}
|
|
]
|
|
},
|
|
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
|
|
"id": 15,
|
|
"language": "Yul",
|
|
"name": "#utility.yul"
|
|
}
|
|
],
|
|
"sourceMap": "628:16377:0:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1464:5;1456;:13;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;:::i;:::-;;1390:113;;628:16377;;7:75:15;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:853::-;2776:6;2784;2833:2;2821:9;2812:7;2808:23;2804:32;2801:119;;;2839:79;;:::i;:::-;2801:119;2980:1;2969:9;2965:17;2959:24;3010:18;3002:6;2999:30;2996:117;;;3032:79;;:::i;:::-;2996:117;3137:74;3203:7;3194:6;3183:9;3179:22;3137:74;:::i;:::-;3127:84;;2930:291;3281:2;3270:9;3266:18;3260:25;3312:18;3304:6;3301:30;3298:117;;;3334:79;;:::i;:::-;3298:117;3439:74;3505:7;3496:6;3485:9;3481:22;3439:74;:::i;:::-;3429:84;;3231:292;2677:853;;;;;:::o;3536:99::-;3588:6;3622:5;3616:12;3606:22;;3536:99;;;:::o;3641:180::-;3689:77;3686:1;3679:88;3786:4;3783:1;3776:15;3810:4;3807:1;3800:15;3827:320;3871:6;3908:1;3902:4;3898:12;3888:22;;3955:1;3949:4;3945:12;3976:18;3966:81;;4032:4;4024:6;4020:17;4010:27;;3966:81;4094:2;4086:6;4083:14;4063:18;4060:38;4057:84;;4113:18;;:::i;:::-;4057:84;3878:269;3827:320;;;:::o;4153:141::-;4202:4;4225:3;4217:11;;4248:3;4245:1;4238:14;4282:4;4279:1;4269:18;4261:26;;4153:141;;;:::o;4300:93::-;4337:6;4384:2;4379;4372:5;4368:14;4364:23;4354:33;;4300:93;;;:::o;4399:107::-;4443:8;4493:5;4487:4;4483:16;4462:37;;4399:107;;;;:::o;4512:393::-;4581:6;4631:1;4619:10;4615:18;4654:97;4684:66;4673:9;4654:97;:::i;:::-;4772:39;4802:8;4791:9;4772:39;:::i;:::-;4760:51;;4844:4;4840:9;4833:5;4829:21;4820:30;;4893:4;4883:8;4879:19;4872:5;4869:30;4859:40;;4588:317;;4512:393;;;;;:::o;4911:77::-;4948:7;4977:5;4966:16;;4911:77;;;:::o;4994:60::-;5022:3;5043:5;5036:12;;4994:60;;;:::o;5060:142::-;5110:9;5143:53;5161:34;5170:24;5188:5;5170:24;:::i;:::-;5161:34;:::i;:::-;5143:53;:::i;:::-;5130:66;;5060:142;;;:::o;5208:75::-;5251:3;5272:5;5265:12;;5208:75;;;:::o;5289:269::-;5399:39;5430:7;5399:39;:::i;:::-;5460:91;5509:41;5533:16;5509:41;:::i;:::-;5501:6;5494:4;5488:11;5460:91;:::i;:::-;5454:4;5447:105;5365:193;5289:269;;;:::o;5564:73::-;5609:3;5564:73;:::o;5643:189::-;5720:32;;:::i;:::-;5761:65;5819:6;5811;5805:4;5761:65;:::i;:::-;5696:136;5643:189;;:::o;5838:186::-;5898:120;5915:3;5908:5;5905:14;5898:120;;;5969:39;6006:1;5999:5;5969:39;:::i;:::-;5942:1;5935:5;5931:13;5922:22;;5898:120;;;5838:186;;:::o;6030:543::-;6131:2;6126:3;6123:11;6120:446;;;6165:38;6197:5;6165:38;:::i;:::-;6249:29;6267:10;6249:29;:::i;:::-;6239:8;6235:44;6432:2;6420:10;6417:18;6414:49;;;6453:8;6438:23;;6414:49;6476:80;6532:22;6550:3;6532:22;:::i;:::-;6522:8;6518:37;6505:11;6476:80;:::i;:::-;6135:431;;6120:446;6030:543;;;:::o;6579:117::-;6633:8;6683:5;6677:4;6673:16;6652:37;;6579:117;;;;:::o;6702:169::-;6746:6;6779:51;6827:1;6823:6;6815:5;6812:1;6808:13;6779:51;:::i;:::-;6775:56;6860:4;6854;6850:15;6840:25;;6753:118;6702:169;;;;:::o;6876:295::-;6952:4;7098:29;7123:3;7117:4;7098:29;:::i;:::-;7090:37;;7160:3;7157:1;7153:11;7147:4;7144:21;7136:29;;6876:295;;;;:::o;7176:1395::-;7293:37;7326:3;7293:37;:::i;:::-;7395:18;7387:6;7384:30;7381:56;;;7417:18;;:::i;:::-;7381:56;7461:38;7493:4;7487:11;7461:38;:::i;:::-;7546:67;7606:6;7598;7592:4;7546:67;:::i;:::-;7640:1;7664:4;7651:17;;7696:2;7688:6;7685:14;7713:1;7708:618;;;;8370:1;8387:6;8384:77;;;8436:9;8431:3;8427:19;8421:26;8412:35;;8384:77;8487:67;8547:6;8540:5;8487:67;:::i;:::-;8481:4;8474:81;8343:222;7678:887;;7708:618;7760:4;7756:9;7748:6;7744:22;7794:37;7826:4;7794:37;:::i;:::-;7853:1;7867:208;7881:7;7878:1;7875:14;7867:208;;;7960:9;7955:3;7951:19;7945:26;7937:6;7930:42;8011:1;8003:6;7999:14;7989:24;;8058:2;8047:9;8043:18;8030:31;;7904:4;7901:1;7897:12;7892:17;;7867:208;;;8103:6;8094:7;8091:19;8088:179;;;8161:9;8156:3;8152:19;8146:26;8204:48;8246:4;8238:6;8234:17;8223:9;8204:48;:::i;:::-;8196:6;8189:64;8111:156;8088:179;8313:1;8309;8301:6;8297:14;8293:22;8287:4;8280:36;7715:611;;;7678:887;;7268:1303;;;7176:1395;;:::o;628:16377:0:-;;;;;;;",
|
|
"deployedSourceMap": "628:16377:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4974:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2801;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4388:162;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1570:300;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;2190:219::-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;1929:204::-;2001:7;2045:1;2028:19;;:5;:19;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;4169:153::-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;:8;:10::i;:::-;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;;;2801:276;;;:::o;4388:162::-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;829:155:9:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;13240:133:0:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;640:96:6:-;693:7;719:10;712:17;;640:96;:::o;12572:171:0:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;6702:115::-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;12879:277::-;12999:8;12990:17;;:5;:17;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;3319:92::-;3370:13;3395:9;;;;;;;;;;;;;;3319:92;:::o;447:696:8:-;503:13;552:14;589:1;569:17;580:5;569:10;:17::i;:::-;:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:41;;659:11;785:6;781:2;777:15;769:6;765:28;758:35;;820:280;827:4;820:280;;;851:5;;;;;;;;990:8;985:2;978:5;974:14;969:30;964:3;956:44;1044:2;1035:11;;;;;;:::i;:::-;;;;;1077:1;1068:5;:10;820:280;1064:21;820:280;1120:6;1113:13;;;;;447:696;;;:::o;7120:126:0:-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;15472:116::-;;;;;:::o;16294:115::-;;;;;:::o;13925:831::-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;10139:916:11:-;10192:7;10211:14;10228:1;10211:18;;10276:8;10267:5;:17;10263:103;;10313:8;10304:17;;;;;;:::i;:::-;;;;;10349:2;10339:12;;;;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;;;;:::i;:::-;;;;;10465:2;10455:12;;;;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;;;;:::i;:::-;;;;;10581:2;10571:12;;;;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;;;;:::i;:::-;;;;;10695:1;10685:11;;;;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;;;;:::i;:::-;;;;;10808:1;10798:11;;;;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;;;;:::i;:::-;;;;;10921:1;10911:11;;;;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;;;;10950:66;11042:6;11035:13;;;10139:916;;;:::o;1412:320:4:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;7:75:15:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:246::-;1879:1;1889:113;1903:6;1900:1;1897:13;1889:113;;;1988:1;1983:3;1979:11;1973:18;1969:1;1964:3;1960:11;1953:39;1925:2;1922:1;1918:10;1913:15;;1889:113;;;2036:1;2027:6;2022:3;2018:16;2011:27;1860:184;1798:246;;;:::o;2050:102::-;2091:6;2142:2;2138:7;2133:2;2126:5;2122:14;2118:28;2108:38;;2050:102;;;:::o;2158:377::-;2246:3;2274:39;2307:5;2274:39;:::i;:::-;2329:71;2393:6;2388:3;2329:71;:::i;:::-;2322:78;;2409:65;2467:6;2462:3;2455:4;2448:5;2444:16;2409:65;:::i;:::-;2499:29;2521:6;2499:29;:::i;:::-;2494:3;2490:39;2483:46;;2250:285;2158:377;;;;:::o;2541:313::-;2654:4;2692:2;2681:9;2677:18;2669:26;;2741:9;2735:4;2731:20;2727:1;2716:9;2712:17;2705:47;2769:78;2842:4;2833:6;2769:78;:::i;:::-;2761:86;;2541:313;;;;:::o;2860:77::-;2897:7;2926:5;2915:16;;2860:77;;;:::o;2943:122::-;3016:24;3034:5;3016:24;:::i;:::-;3009:5;3006:35;2996:63;;3055:1;3052;3045:12;2996:63;2943:122;:::o;3071:139::-;3117:5;3155:6;3142:20;3133:29;;3171:33;3198:5;3171:33;:::i;:::-;3071:139;;;;:::o;3216:329::-;3275:6;3324:2;3312:9;3303:7;3299:23;3295:32;3292:119;;;3330:79;;:::i;:::-;3292:119;3450:1;3475:53;3520:7;3511:6;3500:9;3496:22;3475:53;:::i;:::-;3465:63;;3421:117;3216:329;;;;:::o;3551:126::-;3588:7;3628:42;3621:5;3617:54;3606:65;;3551:126;;;:::o;3683:96::-;3720:7;3749:24;3767:5;3749:24;:::i;:::-;3738:35;;3683:96;;;:::o;3785:118::-;3872:24;3890:5;3872:24;:::i;:::-;3867:3;3860:37;3785:118;;:::o;3909:222::-;4002:4;4040:2;4029:9;4025:18;4017:26;;4053:71;4121:1;4110:9;4106:17;4097:6;4053:71;:::i;:::-;3909:222;;;;:::o;4137:122::-;4210:24;4228:5;4210:24;:::i;:::-;4203:5;4200:35;4190:63;;4249:1;4246;4239:12;4190:63;4137:122;:::o;4265:139::-;4311:5;4349:6;4336:20;4327:29;;4365:33;4392:5;4365:33;:::i;:::-;4265:139;;;;:::o;4410:474::-;4478:6;4486;4535:2;4523:9;4514:7;4510:23;4506:32;4503:119;;;4541:79;;:::i;:::-;4503:119;4661:1;4686:53;4731:7;4722:6;4711:9;4707:22;4686:53;:::i;:::-;4676:63;;4632:117;4788:2;4814:53;4859:7;4850:6;4839:9;4835:22;4814:53;:::i;:::-;4804:63;;4759:118;4410:474;;;;;:::o;4890:619::-;4967:6;4975;4983;5032:2;5020:9;5011:7;5007:23;5003:32;5000:119;;;5038:79;;:::i;:::-;5000:119;5158:1;5183:53;5228:7;5219:6;5208:9;5204:22;5183:53;:::i;:::-;5173:63;;5129:117;5285:2;5311:53;5356:7;5347:6;5336:9;5332:22;5311:53;:::i;:::-;5301:63;;5256:118;5413:2;5439:53;5484:7;5475:6;5464:9;5460:22;5439:53;:::i;:::-;5429:63;;5384:118;4890:619;;;;;:::o;5515:329::-;5574:6;5623:2;5611:9;5602:7;5598:23;5594:32;5591:119;;;5629:79;;:::i;:::-;5591:119;5749:1;5774:53;5819:7;5810:6;5799:9;5795:22;5774:53;:::i;:::-;5764:63;;5720:117;5515:329;;;;:::o;5850:118::-;5937:24;5955:5;5937:24;:::i;:::-;5932:3;5925:37;5850:118;;:::o;5974:222::-;6067:4;6105:2;6094:9;6090:18;6082:26;;6118:71;6186:1;6175:9;6171:17;6162:6;6118:71;:::i;:::-;5974:222;;;;:::o;6202:116::-;6272:21;6287:5;6272:21;:::i;:::-;6265:5;6262:32;6252:60;;6308:1;6305;6298:12;6252:60;6202:116;:::o;6324:133::-;6367:5;6405:6;6392:20;6383:29;;6421:30;6445:5;6421:30;:::i;:::-;6324:133;;;;:::o;6463:468::-;6528:6;6536;6585:2;6573:9;6564:7;6560:23;6556:32;6553:119;;;6591:79;;:::i;:::-;6553:119;6711:1;6736:53;6781:7;6772:6;6761:9;6757:22;6736:53;:::i;:::-;6726:63;;6682:117;6838:2;6864:50;6906:7;6897:6;6886:9;6882:22;6864:50;:::i;:::-;6854:60;;6809:115;6463:468;;;;;:::o;6937:117::-;7046:1;7043;7036:12;7060:117;7169:1;7166;7159:12;7183:180;7231:77;7228:1;7221:88;7328:4;7325:1;7318:15;7352:4;7349:1;7342:15;7369:281;7452:27;7474:4;7452:27;:::i;:::-;7444:6;7440:40;7582:6;7570:10;7567:22;7546:18;7534:10;7531:34;7528:62;7525:88;;;7593:18;;:::i;:::-;7525:88;7633:10;7629:2;7622:22;7412:238;7369:281;;:::o;7656:129::-;7690:6;7717:20;;:::i;:::-;7707:30;;7746:33;7774:4;7766:6;7746:33;:::i;:::-;7656:129;;;:::o;7791:307::-;7852:4;7942:18;7934:6;7931:30;7928:56;;;7964:18;;:::i;:::-;7928:56;8002:29;8024:6;8002:29;:::i;:::-;7994:37;;8086:4;8080;8076:15;8068:23;;7791:307;;;:::o;8104:146::-;8201:6;8196:3;8191;8178:30;8242:1;8233:6;8228:3;8224:16;8217:27;8104:146;;;:::o;8256:423::-;8333:5;8358:65;8374:48;8415:6;8374:48;:::i;:::-;8358:65;:::i;:::-;8349:74;;8446:6;8439:5;8432:21;8484:4;8477:5;8473:16;8522:3;8513:6;8508:3;8504:16;8501:25;8498:112;;;8529:79;;:::i;:::-;8498:112;8619:54;8666:6;8661:3;8656;8619:54;:::i;:::-;8339:340;8256:423;;;;;:::o;8698:338::-;8753:5;8802:3;8795:4;8787:6;8783:17;8779:27;8769:122;;8810:79;;:::i;:::-;8769:122;8927:6;8914:20;8952:78;9026:3;9018:6;9011:4;9003:6;8999:17;8952:78;:::i;:::-;8943:87;;8759:277;8698:338;;;;:::o;9042:943::-;9137:6;9145;9153;9161;9210:3;9198:9;9189:7;9185:23;9181:33;9178:120;;;9217:79;;:::i;:::-;9178:120;9337:1;9362:53;9407:7;9398:6;9387:9;9383:22;9362:53;:::i;:::-;9352:63;;9308:117;9464:2;9490:53;9535:7;9526:6;9515:9;9511:22;9490:53;:::i;:::-;9480:63;;9435:118;9592:2;9618:53;9663:7;9654:6;9643:9;9639:22;9618:53;:::i;:::-;9608:63;;9563:118;9748:2;9737:9;9733:18;9720:32;9779:18;9771:6;9768:30;9765:117;;;9801:79;;:::i;:::-;9765:117;9906:62;9960:7;9951:6;9940:9;9936:22;9906:62;:::i;:::-;9896:72;;9691:287;9042:943;;;;;;;:::o;9991:474::-;10059:6;10067;10116:2;10104:9;10095:7;10091:23;10087:32;10084:119;;;10122:79;;:::i;:::-;10084:119;10242:1;10267:53;10312:7;10303:6;10292:9;10288:22;10267:53;:::i;:::-;10257:63;;10213:117;10369:2;10395:53;10440:7;10431:6;10420:9;10416:22;10395:53;:::i;:::-;10385:63;;10340:118;9991:474;;;;;:::o;10471:180::-;10519:77;10516:1;10509:88;10616:4;10613:1;10606:15;10640:4;10637:1;10630:15;10657:320;10701:6;10738:1;10732:4;10728:12;10718:22;;10785:1;10779:4;10775:12;10806:18;10796:81;;10862:4;10854:6;10850:17;10840:27;;10796:81;10924:2;10916:6;10913:14;10893:18;10890:38;10887:84;;10943:18;;:::i;:::-;10887:84;10708:269;10657:320;;;:::o;10983:220::-;11123:34;11119:1;11111:6;11107:14;11100:58;11192:3;11187:2;11179:6;11175:15;11168:28;10983:220;:::o;11209:366::-;11351:3;11372:67;11436:2;11431:3;11372:67;:::i;:::-;11365:74;;11448:93;11537:3;11448:93;:::i;:::-;11566:2;11561:3;11557:12;11550:19;;11209:366;;;:::o;11581:419::-;11747:4;11785:2;11774:9;11770:18;11762:26;;11834:9;11828:4;11824:20;11820:1;11809:9;11805:17;11798:47;11862:131;11988:4;11862:131;:::i;:::-;11854:139;;11581:419;;;:::o;12006:248::-;12146:34;12142:1;12134:6;12130:14;12123:58;12215:31;12210:2;12202:6;12198:15;12191:56;12006:248;:::o;12260:366::-;12402:3;12423:67;12487:2;12482:3;12423:67;:::i;:::-;12416:74;;12499:93;12588:3;12499:93;:::i;:::-;12617:2;12612:3;12608:12;12601:19;;12260:366;;;:::o;12632:419::-;12798:4;12836:2;12825:9;12821:18;12813:26;;12885:9;12879:4;12875:20;12871:1;12860:9;12856:17;12849:47;12913:131;13039:4;12913:131;:::i;:::-;12905:139;;12632:419;;;:::o;13057:232::-;13197:34;13193:1;13185:6;13181:14;13174:58;13266:15;13261:2;13253:6;13249:15;13242:40;13057:232;:::o;13295:366::-;13437:3;13458:67;13522:2;13517:3;13458:67;:::i;:::-;13451:74;;13534:93;13623:3;13534:93;:::i;:::-;13652:2;13647:3;13643:12;13636:19;;13295:366;;;:::o;13667:419::-;13833:4;13871:2;13860:9;13856:18;13848:26;;13920:9;13914:4;13910:20;13906:1;13895:9;13891:17;13884:47;13948:131;14074:4;13948:131;:::i;:::-;13940:139;;13667:419;;;:::o;14092:174::-;14232:26;14228:1;14220:6;14216:14;14209:50;14092:174;:::o;14272:366::-;14414:3;14435:67;14499:2;14494:3;14435:67;:::i;:::-;14428:74;;14511:93;14600:3;14511:93;:::i;:::-;14629:2;14624:3;14620:12;14613:19;;14272:366;;;:::o;14644:419::-;14810:4;14848:2;14837:9;14833:18;14825:26;;14897:9;14891:4;14887:20;14883:1;14872:9;14868:17;14861:47;14925:131;15051:4;14925:131;:::i;:::-;14917:139;;14644:419;;;:::o;15069:228::-;15209:34;15205:1;15197:6;15193:14;15186:58;15278:11;15273:2;15265:6;15261:15;15254:36;15069:228;:::o;15303:366::-;15445:3;15466:67;15530:2;15525:3;15466:67;:::i;:::-;15459:74;;15542:93;15631:3;15542:93;:::i;:::-;15660:2;15655:3;15651:12;15644:19;;15303:366;;;:::o;15675:419::-;15841:4;15879:2;15868:9;15864:18;15856:26;;15928:9;15922:4;15918:20;15914:1;15903:9;15899:17;15892:47;15956:131;16082:4;15956:131;:::i;:::-;15948:139;;15675:419;;;:::o;16100:148::-;16202:11;16239:3;16224:18;;16100:148;;;;:::o;16254:390::-;16360:3;16388:39;16421:5;16388:39;:::i;:::-;16443:89;16525:6;16520:3;16443:89;:::i;:::-;16436:96;;16541:65;16599:6;16594:3;16587:4;16580:5;16576:16;16541:65;:::i;:::-;16631:6;16626:3;16622:16;16615:23;;16364:280;16254:390;;;;:::o;16650:435::-;16830:3;16852:95;16943:3;16934:6;16852:95;:::i;:::-;16845:102;;16964:95;17055:3;17046:6;16964:95;:::i;:::-;16957:102;;17076:3;17069:10;;16650:435;;;;;:::o;17091:224::-;17231:34;17227:1;17219:6;17215:14;17208:58;17300:7;17295:2;17287:6;17283:15;17276:32;17091:224;:::o;17321:366::-;17463:3;17484:67;17548:2;17543:3;17484:67;:::i;:::-;17477:74;;17560:93;17649:3;17560:93;:::i;:::-;17678:2;17673:3;17669:12;17662:19;;17321:366;;;:::o;17693:419::-;17859:4;17897:2;17886:9;17882:18;17874:26;;17946:9;17940:4;17936:20;17932:1;17921:9;17917:17;17910:47;17974:131;18100:4;17974:131;:::i;:::-;17966:139;;17693:419;;;:::o;18118:223::-;18258:34;18254:1;18246:6;18242:14;18235:58;18327:6;18322:2;18314:6;18310:15;18303:31;18118:223;:::o;18347:366::-;18489:3;18510:67;18574:2;18569:3;18510:67;:::i;:::-;18503:74;;18586:93;18675:3;18586:93;:::i;:::-;18704:2;18699:3;18695:12;18688:19;;18347:366;;;:::o;18719:419::-;18885:4;18923:2;18912:9;18908:18;18900:26;;18972:9;18966:4;18962:20;18958:1;18947:9;18943:17;18936:47;19000:131;19126:4;19000:131;:::i;:::-;18992:139;;18719:419;;;:::o;19144:175::-;19284:27;19280:1;19272:6;19268:14;19261:51;19144:175;:::o;19325:366::-;19467:3;19488:67;19552:2;19547:3;19488:67;:::i;:::-;19481:74;;19564:93;19653:3;19564:93;:::i;:::-;19682:2;19677:3;19673:12;19666:19;;19325:366;;;:::o;19697:419::-;19863:4;19901:2;19890:9;19886:18;19878:26;;19950:9;19944:4;19940:20;19936:1;19925:9;19921:17;19914:47;19978:131;20104:4;19978:131;:::i;:::-;19970:139;;19697:419;;;:::o;20122:237::-;20262:34;20258:1;20250:6;20246:14;20239:58;20331:20;20326:2;20318:6;20314:15;20307:45;20122:237;:::o;20365:366::-;20507:3;20528:67;20592:2;20587:3;20528:67;:::i;:::-;20521:74;;20604:93;20693:3;20604:93;:::i;:::-;20722:2;20717:3;20713:12;20706:19;;20365:366;;;:::o;20737:419::-;20903:4;20941:2;20930:9;20926:18;20918:26;;20990:9;20984:4;20980:20;20976:1;20965:9;20961:17;20954:47;21018:131;21144:4;21018:131;:::i;:::-;21010:139;;20737:419;;;:::o;21162:180::-;21210:77;21207:1;21200:88;21307:4;21304:1;21297:15;21331:4;21328:1;21321:15;21348:98;21399:6;21433:5;21427:12;21417:22;;21348:98;;;:::o;21452:168::-;21535:11;21569:6;21564:3;21557:19;21609:4;21604:3;21600:14;21585:29;;21452:168;;;;:::o;21626:373::-;21712:3;21740:38;21772:5;21740:38;:::i;:::-;21794:70;21857:6;21852:3;21794:70;:::i;:::-;21787:77;;21873:65;21931:6;21926:3;21919:4;21912:5;21908:16;21873:65;:::i;:::-;21963:29;21985:6;21963:29;:::i;:::-;21958:3;21954:39;21947:46;;21716:283;21626:373;;;;:::o;22005:640::-;22200:4;22238:3;22227:9;22223:19;22215:27;;22252:71;22320:1;22309:9;22305:17;22296:6;22252:71;:::i;:::-;22333:72;22401:2;22390:9;22386:18;22377:6;22333:72;:::i;:::-;22415;22483:2;22472:9;22468:18;22459:6;22415:72;:::i;:::-;22534:9;22528:4;22524:20;22519:2;22508:9;22504:18;22497:48;22562:76;22633:4;22624:6;22562:76;:::i;:::-;22554:84;;22005:640;;;;;;;:::o;22651:141::-;22707:5;22738:6;22732:13;22723:22;;22754:32;22780:5;22754:32;:::i;:::-;22651:141;;;;:::o;22798:349::-;22867:6;22916:2;22904:9;22895:7;22891:23;22887:32;22884:119;;;22922:79;;:::i;:::-;22884:119;23042:1;23067:63;23122:7;23113:6;23102:9;23098:22;23067:63;:::i;:::-;23057:73;;23013:127;22798:349;;;;:::o",
|
|
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/ERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC721.sol\";\nimport \"./IERC721Receiver.sol\";\nimport \"./extensions/IERC721Metadata.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/Context.sol\";\nimport \"../../utils/Strings.sol\";\nimport \"../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n * the Metadata extension, but not including the Enumerable extension, which is available separately as\n * {ERC721Enumerable}.\n */\ncontract ERC721 is Context, ERC165, IERC721, IERC721Metadata {\n using Address for address;\n using Strings for uint256;\n\n // Token name\n string private _name;\n\n // Token symbol\n string private _symbol;\n\n // Mapping from token ID to owner address\n mapping(uint256 => address) private _owners;\n\n // Mapping owner address to token count\n mapping(address => uint256) private _balances;\n\n // Mapping from token ID to approved address\n mapping(uint256 => address) private _tokenApprovals;\n\n // Mapping from owner to operator approvals\n mapping(address => mapping(address => bool)) private _operatorApprovals;\n\n /**\n * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return\n interfaceId == type(IERC721).interfaceId ||\n interfaceId == type(IERC721Metadata).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC721-balanceOf}.\n */\n function balanceOf(address owner) public view virtual override returns (uint256) {\n require(owner != address(0), \"ERC721: address zero is not a valid owner\");\n return _balances[owner];\n }\n\n /**\n * @dev See {IERC721-ownerOf}.\n */\n function ownerOf(uint256 tokenId) public view virtual override returns (address) {\n address owner = _ownerOf(tokenId);\n require(owner != address(0), \"ERC721: invalid token ID\");\n return owner;\n }\n\n /**\n * @dev See {IERC721Metadata-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IERC721Metadata-symbol}.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n _requireMinted(tokenId);\n\n string memory baseURI = _baseURI();\n return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : \"\";\n }\n\n /**\n * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n * token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n * by default, can be overridden in child contracts.\n */\n function _baseURI() internal view virtual returns (string memory) {\n return \"\";\n }\n\n /**\n * @dev See {IERC721-approve}.\n */\n function approve(address to, uint256 tokenId) public virtual override {\n address owner = ERC721.ownerOf(tokenId);\n require(to != owner, \"ERC721: approval to current owner\");\n\n require(\n _msgSender() == owner || isApprovedForAll(owner, _msgSender()),\n \"ERC721: approve caller is not token owner or approved for all\"\n );\n\n _approve(to, tokenId);\n }\n\n /**\n * @dev See {IERC721-getApproved}.\n */\n function getApproved(uint256 tokenId) public view virtual override returns (address) {\n _requireMinted(tokenId);\n\n return _tokenApprovals[tokenId];\n }\n\n /**\n * @dev See {IERC721-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual override {\n _setApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC721-isApprovedForAll}.\n */\n function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {\n return _operatorApprovals[owner][operator];\n }\n\n /**\n * @dev See {IERC721-transferFrom}.\n */\n function transferFrom(address from, address to, uint256 tokenId) public virtual override {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n\n _transfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public virtual override {\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n _safeTransfer(from, to, tokenId, data);\n }\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * `data` is additional data, it has no specified format and it is sent in call to `to`.\n *\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n * implement alternative mechanisms to perform token transfer, such as signature-based.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeTransfer(address from, address to, uint256 tokenId, bytes memory data) internal virtual {\n _transfer(from, to, tokenId);\n require(_checkOnERC721Received(from, to, tokenId, data), \"ERC721: transfer to non ERC721Receiver implementer\");\n }\n\n /**\n * @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist\n */\n function _ownerOf(uint256 tokenId) internal view virtual returns (address) {\n return _owners[tokenId];\n }\n\n /**\n * @dev Returns whether `tokenId` exists.\n *\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n *\n * Tokens start existing when they are minted (`_mint`),\n * and stop existing when they are burned (`_burn`).\n */\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _ownerOf(tokenId) != address(0);\n }\n\n /**\n * @dev Returns whether `spender` is allowed to manage `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {\n address owner = ERC721.ownerOf(tokenId);\n return (spender == owner || isApprovedForAll(owner, spender) || getApproved(tokenId) == spender);\n }\n\n /**\n * @dev Safely mints `tokenId` and transfers it to `to`.\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeMint(address to, uint256 tokenId) internal virtual {\n _safeMint(to, tokenId, \"\");\n }\n\n /**\n * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n * forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\n */\n function _safeMint(address to, uint256 tokenId, bytes memory data) internal virtual {\n _mint(to, tokenId);\n require(\n _checkOnERC721Received(address(0), to, tokenId, data),\n \"ERC721: transfer to non ERC721Receiver implementer\"\n );\n }\n\n /**\n * @dev Mints `tokenId` and transfers it to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - `to` cannot be the zero address.\n *\n * Emits a {Transfer} event.\n */\n function _mint(address to, uint256 tokenId) internal virtual {\n require(to != address(0), \"ERC721: mint to the zero address\");\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n _beforeTokenTransfer(address(0), to, tokenId, 1);\n\n // Check that tokenId was not minted by `_beforeTokenTransfer` hook\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n unchecked {\n // Will not overflow unless all 2**256 token ids are minted to the same owner.\n // Given that tokens are minted one by one, it is impossible in practice that\n // this ever happens. Might change if we allow batch minting.\n // The ERC fails to describe this case.\n _balances[to] += 1;\n }\n\n _owners[tokenId] = to;\n\n emit Transfer(address(0), to, tokenId);\n\n _afterTokenTransfer(address(0), to, tokenId, 1);\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n * This is an internal function that does not check if the sender is authorized to operate on the token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n *\n * Emits a {Transfer} event.\n */\n function _burn(uint256 tokenId) internal virtual {\n address owner = ERC721.ownerOf(tokenId);\n\n _beforeTokenTransfer(owner, address(0), tokenId, 1);\n\n // Update ownership in case tokenId was transferred by `_beforeTokenTransfer` hook\n owner = ERC721.ownerOf(tokenId);\n\n // Clear approvals\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // Cannot overflow, as that would require more tokens to be burned/transferred\n // out than the owner initially received through minting and transferring in.\n _balances[owner] -= 1;\n }\n delete _owners[tokenId];\n\n emit Transfer(owner, address(0), tokenId);\n\n _afterTokenTransfer(owner, address(0), tokenId, 1);\n }\n\n /**\n * @dev Transfers `tokenId` from `from` to `to`.\n * As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n *\n * Emits a {Transfer} event.\n */\n function _transfer(address from, address to, uint256 tokenId) internal virtual {\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n require(to != address(0), \"ERC721: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, tokenId, 1);\n\n // Check that tokenId was not transferred by `_beforeTokenTransfer` hook\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n\n // Clear approvals from the previous owner\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // `_balances[from]` cannot overflow for the same reason as described in `_burn`:\n // `from`'s balance is the number of token held, which is at least one before the current\n // transfer.\n // `_balances[to]` could overflow in the conditions described in `_mint`. That would require\n // all 2**256 token ids to be minted, which in practice is impossible.\n _balances[from] -= 1;\n _balances[to] += 1;\n }\n _owners[tokenId] = to;\n\n emit Transfer(from, to, tokenId);\n\n _afterTokenTransfer(from, to, tokenId, 1);\n }\n\n /**\n * @dev Approve `to` to operate on `tokenId`\n *\n * Emits an {Approval} event.\n */\n function _approve(address to, uint256 tokenId) internal virtual {\n _tokenApprovals[tokenId] = to;\n emit Approval(ERC721.ownerOf(tokenId), to, tokenId);\n }\n\n /**\n * @dev Approve `operator` to operate on all of `owner` tokens\n *\n * Emits an {ApprovalForAll} event.\n */\n function _setApprovalForAll(address owner, address operator, bool approved) internal virtual {\n require(owner != operator, \"ERC721: approve to caller\");\n _operatorApprovals[owner][operator] = approved;\n emit ApprovalForAll(owner, operator, approved);\n }\n\n /**\n * @dev Reverts if the `tokenId` has not been minted yet.\n */\n function _requireMinted(uint256 tokenId) internal view virtual {\n require(_exists(tokenId), \"ERC721: invalid token ID\");\n }\n\n /**\n * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n * The call is not executed if the target address is not a contract.\n *\n * @param from address representing the previous owner of the given token ID\n * @param to target address that will receive the tokens\n * @param tokenId uint256 ID of the token to be transferred\n * @param data bytes optional data to send along with the call\n * @return bool whether the call correctly returned the expected magic value\n */\n function _checkOnERC721Received(\n address from,\n address to,\n uint256 tokenId,\n bytes memory data\n ) private returns (bool) {\n if (to.isContract()) {\n try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, data) returns (bytes4 retval) {\n return retval == IERC721Receiver.onERC721Received.selector;\n } catch (bytes memory reason) {\n if (reason.length == 0) {\n revert(\"ERC721: transfer to non ERC721Receiver implementer\");\n } else {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, reason), mload(reason))\n }\n }\n }\n } else {\n return true;\n }\n }\n\n /**\n * @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n * - When `from` is zero, the tokens will be minted for `to`.\n * - When `to` is zero, ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual {}\n\n /**\n * @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n * - When `from` is zero, the tokens were minted for `to`.\n * - When `to` is zero, ``from``'s tokens were burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual {}\n\n /**\n * @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n *\n * WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n * being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n * that `ownerOf(tokenId)` is `a`.\n */\n // solhint-disable-next-line func-name-mixedcase\n function __unsafe_increaseBalance(address account, uint256 amount) internal {\n _balances[account] += amount;\n }\n}\n",
|
|
"sourcePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
|
|
"ast": {
|
|
"absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
|
|
"exportedSymbols": {
|
|
"Address": [
|
|
1417
|
|
],
|
|
"Context": [
|
|
1486
|
|
],
|
|
"ERC165": [
|
|
1813
|
|
],
|
|
"ERC721": [
|
|
926
|
|
],
|
|
"IERC165": [
|
|
1825
|
|
],
|
|
"IERC721": [
|
|
1042
|
|
],
|
|
"IERC721Metadata": [
|
|
1087
|
|
],
|
|
"IERC721Receiver": [
|
|
1060
|
|
],
|
|
"Math": [
|
|
2691
|
|
],
|
|
"SignedMath": [
|
|
2796
|
|
],
|
|
"Strings": [
|
|
1789
|
|
]
|
|
},
|
|
"id": 927,
|
|
"license": "MIT",
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 1,
|
|
"literals": [
|
|
"solidity",
|
|
"^",
|
|
"0.8",
|
|
".0"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "107:23:0"
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
|
|
"file": "./IERC721.sol",
|
|
"id": 2,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 927,
|
|
"sourceUnit": 1043,
|
|
"src": "132:23:0",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
|
|
"file": "./IERC721Receiver.sol",
|
|
"id": 3,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 927,
|
|
"sourceUnit": 1061,
|
|
"src": "156:31:0",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
|
|
"file": "./extensions/IERC721Metadata.sol",
|
|
"id": 4,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 927,
|
|
"sourceUnit": 1088,
|
|
"src": "188:42:0",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/utils/Address.sol",
|
|
"file": "../../utils/Address.sol",
|
|
"id": 5,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 927,
|
|
"sourceUnit": 1418,
|
|
"src": "231:33:0",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/utils/Context.sol",
|
|
"file": "../../utils/Context.sol",
|
|
"id": 6,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 927,
|
|
"sourceUnit": 1487,
|
|
"src": "265:33:0",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/utils/Strings.sol",
|
|
"file": "../../utils/Strings.sol",
|
|
"id": 7,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 927,
|
|
"sourceUnit": 1790,
|
|
"src": "299:33:0",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol",
|
|
"file": "../../utils/introspection/ERC165.sol",
|
|
"id": 8,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 927,
|
|
"sourceUnit": 1814,
|
|
"src": "333:46:0",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"baseName": {
|
|
"id": 10,
|
|
"name": "Context",
|
|
"nameLocations": [
|
|
"647:7:0"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 1486,
|
|
"src": "647:7:0"
|
|
},
|
|
"id": 11,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "647:7:0"
|
|
},
|
|
{
|
|
"baseName": {
|
|
"id": 12,
|
|
"name": "ERC165",
|
|
"nameLocations": [
|
|
"656:6:0"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 1813,
|
|
"src": "656:6:0"
|
|
},
|
|
"id": 13,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "656:6:0"
|
|
},
|
|
{
|
|
"baseName": {
|
|
"id": 14,
|
|
"name": "IERC721",
|
|
"nameLocations": [
|
|
"664:7:0"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 1042,
|
|
"src": "664:7:0"
|
|
},
|
|
"id": 15,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "664:7:0"
|
|
},
|
|
{
|
|
"baseName": {
|
|
"id": 16,
|
|
"name": "IERC721Metadata",
|
|
"nameLocations": [
|
|
"673:15:0"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 1087,
|
|
"src": "673:15:0"
|
|
},
|
|
"id": 17,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "673:15:0"
|
|
}
|
|
],
|
|
"canonicalName": "ERC721",
|
|
"contractDependencies": [],
|
|
"contractKind": "contract",
|
|
"documentation": {
|
|
"id": 9,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "381:246:0",
|
|
"text": " @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}."
|
|
},
|
|
"fullyImplemented": true,
|
|
"id": 926,
|
|
"linearizedBaseContracts": [
|
|
926,
|
|
1087,
|
|
1042,
|
|
1813,
|
|
1825,
|
|
1486
|
|
],
|
|
"name": "ERC721",
|
|
"nameLocation": "637:6:0",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"global": false,
|
|
"id": 20,
|
|
"libraryName": {
|
|
"id": 18,
|
|
"name": "Address",
|
|
"nameLocations": [
|
|
"701:7:0"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 1417,
|
|
"src": "701:7:0"
|
|
},
|
|
"nodeType": "UsingForDirective",
|
|
"src": "695:26:0",
|
|
"typeName": {
|
|
"id": 19,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "713:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"global": false,
|
|
"id": 23,
|
|
"libraryName": {
|
|
"id": 21,
|
|
"name": "Strings",
|
|
"nameLocations": [
|
|
"732:7:0"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 1789,
|
|
"src": "732:7:0"
|
|
},
|
|
"nodeType": "UsingForDirective",
|
|
"src": "726:26:0",
|
|
"typeName": {
|
|
"id": 22,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "744:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 25,
|
|
"mutability": "mutable",
|
|
"name": "_name",
|
|
"nameLocation": "791:5:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 926,
|
|
"src": "776:20:0",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 24,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "776:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 27,
|
|
"mutability": "mutable",
|
|
"name": "_symbol",
|
|
"nameLocation": "838:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 926,
|
|
"src": "823:22:0",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 26,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "823:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 31,
|
|
"mutability": "mutable",
|
|
"name": "_owners",
|
|
"nameLocation": "934:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 926,
|
|
"src": "898:43:0",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
},
|
|
"typeName": {
|
|
"id": 30,
|
|
"keyName": "",
|
|
"keyNameLocation": "-1:-1:-1",
|
|
"keyType": {
|
|
"id": 28,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "906:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "898:27:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
},
|
|
"valueName": "",
|
|
"valueNameLocation": "-1:-1:-1",
|
|
"valueType": {
|
|
"id": 29,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "917:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
},
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 35,
|
|
"mutability": "mutable",
|
|
"name": "_balances",
|
|
"nameLocation": "1028:9:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 926,
|
|
"src": "992:45:0",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 34,
|
|
"keyName": "",
|
|
"keyNameLocation": "-1:-1:-1",
|
|
"keyType": {
|
|
"id": 32,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1000:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "992:27:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
},
|
|
"valueName": "",
|
|
"valueNameLocation": "-1:-1:-1",
|
|
"valueType": {
|
|
"id": 33,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1011:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 39,
|
|
"mutability": "mutable",
|
|
"name": "_tokenApprovals",
|
|
"nameLocation": "1129:15:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 926,
|
|
"src": "1093:51:0",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
},
|
|
"typeName": {
|
|
"id": 38,
|
|
"keyName": "",
|
|
"keyNameLocation": "-1:-1:-1",
|
|
"keyType": {
|
|
"id": 36,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1101:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1093:27:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
},
|
|
"valueName": "",
|
|
"valueNameLocation": "-1:-1:-1",
|
|
"valueType": {
|
|
"id": 37,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1112:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
},
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45,
|
|
"mutability": "mutable",
|
|
"name": "_operatorApprovals",
|
|
"nameLocation": "1252:18:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 926,
|
|
"src": "1199:71:0",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$",
|
|
"typeString": "mapping(address => mapping(address => bool))"
|
|
},
|
|
"typeName": {
|
|
"id": 44,
|
|
"keyName": "",
|
|
"keyNameLocation": "-1:-1:-1",
|
|
"keyType": {
|
|
"id": 40,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1207:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1199:44:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$",
|
|
"typeString": "mapping(address => mapping(address => bool))"
|
|
},
|
|
"valueName": "",
|
|
"valueNameLocation": "-1:-1:-1",
|
|
"valueType": {
|
|
"id": 43,
|
|
"keyName": "",
|
|
"keyNameLocation": "-1:-1:-1",
|
|
"keyType": {
|
|
"id": 41,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1226:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1218:24:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
},
|
|
"valueName": "",
|
|
"valueNameLocation": "-1:-1:-1",
|
|
"valueType": {
|
|
"id": 42,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1237:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 61,
|
|
"nodeType": "Block",
|
|
"src": "1446:57:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 55,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 53,
|
|
"name": "_name",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 25,
|
|
"src": "1456:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 54,
|
|
"name": "name_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48,
|
|
"src": "1464:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
},
|
|
"src": "1456:13:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 56,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1456:13:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 59,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 57,
|
|
"name": "_symbol",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 27,
|
|
"src": "1479:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 58,
|
|
"name": "symbol_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50,
|
|
"src": "1489:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
},
|
|
"src": "1479:17:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"id": 60,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1479:17:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 46,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1277:108:0",
|
|
"text": " @dev Initializes the contract by setting a `name` and a `symbol` to the token collection."
|
|
},
|
|
"id": 62,
|
|
"implemented": true,
|
|
"kind": "constructor",
|
|
"modifiers": [],
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 51,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 48,
|
|
"mutability": "mutable",
|
|
"name": "name_",
|
|
"nameLocation": "1416:5:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 62,
|
|
"src": "1402:19:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 47,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1402:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 50,
|
|
"mutability": "mutable",
|
|
"name": "symbol_",
|
|
"nameLocation": "1437:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 62,
|
|
"src": "1423:21:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 49,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1423:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1401:44:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 52,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1446:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "1390:113:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
1812,
|
|
1824
|
|
],
|
|
"body": {
|
|
"id": 92,
|
|
"nodeType": "Block",
|
|
"src": "1678:192:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 90,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 85,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"id": 78,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 73,
|
|
"name": "interfaceId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 65,
|
|
"src": "1707:11:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 75,
|
|
"name": "IERC721",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1042,
|
|
"src": "1727:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IERC721_$1042_$",
|
|
"typeString": "type(contract IERC721)"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_type$_t_contract$_IERC721_$1042_$",
|
|
"typeString": "type(contract IERC721)"
|
|
}
|
|
],
|
|
"id": 74,
|
|
"name": "type",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967269,
|
|
"src": "1722:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_metatype_pure$__$returns$__$",
|
|
"typeString": "function () pure"
|
|
}
|
|
},
|
|
"id": 76,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1722:13:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$1042",
|
|
"typeString": "type(contract IERC721)"
|
|
}
|
|
},
|
|
"id": 77,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1736:11:0",
|
|
"memberName": "interfaceId",
|
|
"nodeType": "MemberAccess",
|
|
"src": "1722:25:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "1707:40:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "||",
|
|
"rightExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"id": 84,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 79,
|
|
"name": "interfaceId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 65,
|
|
"src": "1763:11:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 81,
|
|
"name": "IERC721Metadata",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1087,
|
|
"src": "1783:15:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1087_$",
|
|
"typeString": "type(contract IERC721Metadata)"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1087_$",
|
|
"typeString": "type(contract IERC721Metadata)"
|
|
}
|
|
],
|
|
"id": 80,
|
|
"name": "type",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967269,
|
|
"src": "1778:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_metatype_pure$__$returns$__$",
|
|
"typeString": "function () pure"
|
|
}
|
|
},
|
|
"id": 82,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1778:21:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$1087",
|
|
"typeString": "type(contract IERC721Metadata)"
|
|
}
|
|
},
|
|
"id": 83,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1800:11:0",
|
|
"memberName": "interfaceId",
|
|
"nodeType": "MemberAccess",
|
|
"src": "1778:33:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "1763:48:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "1707:104:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "||",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 88,
|
|
"name": "interfaceId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 65,
|
|
"src": "1851:11:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 86,
|
|
"name": "super",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967271,
|
|
"src": "1827:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_super$_ERC721_$926_$",
|
|
"typeString": "type(contract super ERC721)"
|
|
}
|
|
},
|
|
"id": 87,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1833:17:0",
|
|
"memberName": "supportsInterface",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 1812,
|
|
"src": "1827:23:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$",
|
|
"typeString": "function (bytes4) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 89,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1827:36:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "1707:156:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 72,
|
|
"id": 91,
|
|
"nodeType": "Return",
|
|
"src": "1688:175:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 63,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1509:56:0",
|
|
"text": " @dev See {IERC165-supportsInterface}."
|
|
},
|
|
"functionSelector": "01ffc9a7",
|
|
"id": 93,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "supportsInterface",
|
|
"nameLocation": "1579:17:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 69,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [
|
|
{
|
|
"id": 67,
|
|
"name": "ERC165",
|
|
"nameLocations": [
|
|
"1646:6:0"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 1813,
|
|
"src": "1646:6:0"
|
|
},
|
|
{
|
|
"id": 68,
|
|
"name": "IERC165",
|
|
"nameLocations": [
|
|
"1654:7:0"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 1825,
|
|
"src": "1654:7:0"
|
|
}
|
|
],
|
|
"src": "1637:25:0"
|
|
},
|
|
"parameters": {
|
|
"id": 66,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 65,
|
|
"mutability": "mutable",
|
|
"name": "interfaceId",
|
|
"nameLocation": "1604:11:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 93,
|
|
"src": "1597:18:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 64,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1597:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1596:20:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 72,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 71,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 93,
|
|
"src": "1672:4:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 70,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1672:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1671:6:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "1570:300:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
967
|
|
],
|
|
"body": {
|
|
"id": 116,
|
|
"nodeType": "Block",
|
|
"src": "2010:123:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 108,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 103,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 96,
|
|
"src": "2028:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 106,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2045:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 105,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2037:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 104,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2037:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 107,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2037:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "2028:19:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572",
|
|
"id": 109,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2049:43:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159",
|
|
"typeString": "literal_string \"ERC721: address zero is not a valid owner\""
|
|
},
|
|
"value": "ERC721: address zero is not a valid owner"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159",
|
|
"typeString": "literal_string \"ERC721: address zero is not a valid owner\""
|
|
}
|
|
],
|
|
"id": 102,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "2020:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 110,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2020:73:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 111,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2020:73:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"baseExpression": {
|
|
"id": 112,
|
|
"name": "_balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 35,
|
|
"src": "2110:9:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 114,
|
|
"indexExpression": {
|
|
"id": 113,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 96,
|
|
"src": "2120:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2110:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 101,
|
|
"id": 115,
|
|
"nodeType": "Return",
|
|
"src": "2103:23:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 94,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1876:48:0",
|
|
"text": " @dev See {IERC721-balanceOf}."
|
|
},
|
|
"functionSelector": "70a08231",
|
|
"id": 117,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "balanceOf",
|
|
"nameLocation": "1938:9:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 98,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "1983:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 97,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 96,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nameLocation": "1956:5:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 117,
|
|
"src": "1948:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 95,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1948:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1947:15:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 101,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 100,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 117,
|
|
"src": "2001:7:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 99,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2001:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2000:9:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "1929:204:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
975
|
|
],
|
|
"body": {
|
|
"id": 144,
|
|
"nodeType": "Block",
|
|
"src": "2271:138:0",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
127
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 127,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nameLocation": "2289:5:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 144,
|
|
"src": "2281:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 126,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2281:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 131,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 129,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 120,
|
|
"src": "2306:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 128,
|
|
"name": "_ownerOf",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 427,
|
|
"src": "2297:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view returns (address)"
|
|
}
|
|
},
|
|
"id": 130,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2297:17:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2281:33:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 138,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 133,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 127,
|
|
"src": "2332:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 136,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2349:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 135,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2341:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 134,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2341:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 137,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2341:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "2332:19:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20696e76616c696420746f6b656e204944",
|
|
"id": 139,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2353:26:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f",
|
|
"typeString": "literal_string \"ERC721: invalid token ID\""
|
|
},
|
|
"value": "ERC721: invalid token ID"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f",
|
|
"typeString": "literal_string \"ERC721: invalid token ID\""
|
|
}
|
|
],
|
|
"id": 132,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "2324:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 140,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2324:56:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 141,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2324:56:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 142,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 127,
|
|
"src": "2397:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"functionReturnParameters": 125,
|
|
"id": 143,
|
|
"nodeType": "Return",
|
|
"src": "2390:12:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 118,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2139:46:0",
|
|
"text": " @dev See {IERC721-ownerOf}."
|
|
},
|
|
"functionSelector": "6352211e",
|
|
"id": 145,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "ownerOf",
|
|
"nameLocation": "2199:7:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 122,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "2244:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 121,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 120,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "2215:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 145,
|
|
"src": "2207:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 119,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2207:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2206:17:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 125,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 124,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 145,
|
|
"src": "2262:7:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 123,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2262:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2261:9:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "2190:219:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
1072
|
|
],
|
|
"body": {
|
|
"id": 154,
|
|
"nodeType": "Block",
|
|
"src": "2540:29:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 152,
|
|
"name": "_name",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 25,
|
|
"src": "2557:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"functionReturnParameters": 151,
|
|
"id": 153,
|
|
"nodeType": "Return",
|
|
"src": "2550:12:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 146,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2415:51:0",
|
|
"text": " @dev See {IERC721Metadata-name}."
|
|
},
|
|
"functionSelector": "06fdde03",
|
|
"id": 155,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "name",
|
|
"nameLocation": "2480:4:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 148,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "2507:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 147,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2484:2:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 151,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 150,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 155,
|
|
"src": "2525:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 149,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2525:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2524:15:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "2471:98:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
1078
|
|
],
|
|
"body": {
|
|
"id": 164,
|
|
"nodeType": "Block",
|
|
"src": "2704:31:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 162,
|
|
"name": "_symbol",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 27,
|
|
"src": "2721:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage",
|
|
"typeString": "string storage ref"
|
|
}
|
|
},
|
|
"functionReturnParameters": 161,
|
|
"id": 163,
|
|
"nodeType": "Return",
|
|
"src": "2714:14:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 156,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2575:53:0",
|
|
"text": " @dev See {IERC721Metadata-symbol}."
|
|
},
|
|
"functionSelector": "95d89b41",
|
|
"id": 165,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "symbol",
|
|
"nameLocation": "2642:6:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 158,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "2671:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 157,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2648:2:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 161,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 160,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 165,
|
|
"src": "2689:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 159,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2689:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2688:15:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "2633:102:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
1086
|
|
],
|
|
"body": {
|
|
"id": 203,
|
|
"nodeType": "Block",
|
|
"src": "2889:188:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 175,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 168,
|
|
"src": "2914:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 174,
|
|
"name": "_requireMinted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 822,
|
|
"src": "2899:14:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$",
|
|
"typeString": "function (uint256) view"
|
|
}
|
|
},
|
|
"id": 176,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2899:23:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 177,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2899:23:0"
|
|
},
|
|
{
|
|
"assignments": [
|
|
179
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 179,
|
|
"mutability": "mutable",
|
|
"name": "baseURI",
|
|
"nameLocation": "2947:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 203,
|
|
"src": "2933:21:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 178,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2933:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 182,
|
|
"initialValue": {
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 180,
|
|
"name": "_baseURI",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 213,
|
|
"src": "2957:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$",
|
|
"typeString": "function () view returns (string memory)"
|
|
}
|
|
},
|
|
"id": 181,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2957:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2933:34:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 189,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 185,
|
|
"name": "baseURI",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 179,
|
|
"src": "2990:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
],
|
|
"id": 184,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2984:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
|
|
"typeString": "type(bytes storage pointer)"
|
|
},
|
|
"typeName": {
|
|
"id": 183,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2984:5:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 186,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2984:14:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 187,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2999:6:0",
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "2984:21:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 188,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3008:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "2984:25:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseExpression": {
|
|
"hexValue": "",
|
|
"id": 200,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3068:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"id": 201,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "Conditional",
|
|
"src": "2984:86:0",
|
|
"trueExpression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 194,
|
|
"name": "baseURI",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 179,
|
|
"src": "3036:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"id": 195,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 168,
|
|
"src": "3045:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 196,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3053:8:0",
|
|
"memberName": "toString",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 1619,
|
|
"src": "3045:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$",
|
|
"typeString": "function (uint256) pure returns (string memory)"
|
|
}
|
|
},
|
|
"id": 197,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3045:18:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 192,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967295,
|
|
"src": "3019:3:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 193,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3023:12:0",
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"src": "3019:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 198,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3019:45:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 191,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "3012:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
|
|
"typeString": "type(string storage pointer)"
|
|
},
|
|
"typeName": {
|
|
"id": 190,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3012:6:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 199,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3012:53:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
},
|
|
"functionReturnParameters": 173,
|
|
"id": 202,
|
|
"nodeType": "Return",
|
|
"src": "2977:93:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 166,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2741:55:0",
|
|
"text": " @dev See {IERC721Metadata-tokenURI}."
|
|
},
|
|
"functionSelector": "c87b56dd",
|
|
"id": 204,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "tokenURI",
|
|
"nameLocation": "2810:8:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 170,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "2856:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 169,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 168,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "2827:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 204,
|
|
"src": "2819:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 167,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2819:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2818:17:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 173,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 172,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 204,
|
|
"src": "2874:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 171,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2874:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2873:15:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "2801:276:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 212,
|
|
"nodeType": "Block",
|
|
"src": "3385:26:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"hexValue": "",
|
|
"id": 210,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3402:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
},
|
|
"functionReturnParameters": 209,
|
|
"id": 211,
|
|
"nodeType": "Return",
|
|
"src": "3395:9:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 205,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3083:231:0",
|
|
"text": " @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overridden in child contracts."
|
|
},
|
|
"id": 213,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_baseURI",
|
|
"nameLocation": "3328:8:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 206,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3336:2:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 209,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 208,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 213,
|
|
"src": "3370:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 207,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3370:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3369:15:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "3319:92:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
1015
|
|
],
|
|
"body": {
|
|
"id": 255,
|
|
"nodeType": "Block",
|
|
"src": "3538:336:0",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
223
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 223,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nameLocation": "3556:5:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 255,
|
|
"src": "3548:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 222,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3548:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 228,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 226,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 218,
|
|
"src": "3579:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 224,
|
|
"name": "ERC721",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 926,
|
|
"src": "3564:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_ERC721_$926_$",
|
|
"typeString": "type(contract ERC721)"
|
|
}
|
|
},
|
|
"id": 225,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3571:7:0",
|
|
"memberName": "ownerOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 145,
|
|
"src": "3564:14:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view returns (address)"
|
|
}
|
|
},
|
|
"id": 227,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3564:23:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3548:39:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 232,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 230,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 216,
|
|
"src": "3605:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"id": 231,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 223,
|
|
"src": "3611:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "3605:11:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572",
|
|
"id": 233,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3618:35:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942",
|
|
"typeString": "literal_string \"ERC721: approval to current owner\""
|
|
},
|
|
"value": "ERC721: approval to current owner"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942",
|
|
"typeString": "literal_string \"ERC721: approval to current owner\""
|
|
}
|
|
],
|
|
"id": 229,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "3597:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 234,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3597:57:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 235,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3597:57:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 246,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 240,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 237,
|
|
"name": "_msgSender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1476,
|
|
"src": "3686:10:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
|
|
"typeString": "function () view returns (address)"
|
|
}
|
|
},
|
|
"id": 238,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3686:12:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"id": 239,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 223,
|
|
"src": "3702:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "3686:21:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "||",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 242,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 223,
|
|
"src": "3728:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 243,
|
|
"name": "_msgSender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1476,
|
|
"src": "3735:10:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
|
|
"typeString": "function () view returns (address)"
|
|
}
|
|
},
|
|
"id": 244,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3735:12:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 241,
|
|
"name": "isApprovedForAll",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 309,
|
|
"src": "3711:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$",
|
|
"typeString": "function (address,address) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 245,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3711:37:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "3686:62:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c",
|
|
"id": 247,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3762:63:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83",
|
|
"typeString": "literal_string \"ERC721: approve caller is not token owner or approved for all\""
|
|
},
|
|
"value": "ERC721: approve caller is not token owner or approved for all"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83",
|
|
"typeString": "literal_string \"ERC721: approve caller is not token owner or approved for all\""
|
|
}
|
|
],
|
|
"id": 236,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "3665:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 248,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3665:170:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 249,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3665:170:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 251,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 216,
|
|
"src": "3855:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 252,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 218,
|
|
"src": "3859:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 250,
|
|
"name": "_approve",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 776,
|
|
"src": "3846:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,uint256)"
|
|
}
|
|
},
|
|
"id": 253,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3846:21:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 254,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3846:21:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 214,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3417:46:0",
|
|
"text": " @dev See {IERC721-approve}."
|
|
},
|
|
"functionSelector": "095ea7b3",
|
|
"id": 256,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "approve",
|
|
"nameLocation": "3477:7:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 220,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "3529:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 219,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 216,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "3493:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 256,
|
|
"src": "3485:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 215,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3485:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 218,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "3505:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 256,
|
|
"src": "3497:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 217,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3497:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3484:29:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 221,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3538:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "3468:406:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
1031
|
|
],
|
|
"body": {
|
|
"id": 273,
|
|
"nodeType": "Block",
|
|
"src": "4020:82:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 266,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 259,
|
|
"src": "4045:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 265,
|
|
"name": "_requireMinted",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 822,
|
|
"src": "4030:14:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$__$",
|
|
"typeString": "function (uint256) view"
|
|
}
|
|
},
|
|
"id": 267,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4030:23:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 268,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4030:23:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"baseExpression": {
|
|
"id": 269,
|
|
"name": "_tokenApprovals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 39,
|
|
"src": "4071:15:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
}
|
|
},
|
|
"id": 271,
|
|
"indexExpression": {
|
|
"id": 270,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 259,
|
|
"src": "4087:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4071:24:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"functionReturnParameters": 264,
|
|
"id": 272,
|
|
"nodeType": "Return",
|
|
"src": "4064:31:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 257,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3880:50:0",
|
|
"text": " @dev See {IERC721-getApproved}."
|
|
},
|
|
"functionSelector": "081812fc",
|
|
"id": 274,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getApproved",
|
|
"nameLocation": "3944:11:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 261,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "3993:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 260,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 259,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "3964:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 274,
|
|
"src": "3956:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 258,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3956:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3955:17:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 264,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 263,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 274,
|
|
"src": "4011:7:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 262,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4011:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4010:9:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "3935:167:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
1023
|
|
],
|
|
"body": {
|
|
"id": 290,
|
|
"nodeType": "Block",
|
|
"src": "4253:69:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 284,
|
|
"name": "_msgSender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1476,
|
|
"src": "4282:10:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
|
|
"typeString": "function () view returns (address)"
|
|
}
|
|
},
|
|
"id": 285,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4282:12:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 286,
|
|
"name": "operator",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 277,
|
|
"src": "4296:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 287,
|
|
"name": "approved",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 279,
|
|
"src": "4306:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
],
|
|
"id": 283,
|
|
"name": "_setApprovalForAll",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 808,
|
|
"src": "4263:18:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$",
|
|
"typeString": "function (address,address,bool)"
|
|
}
|
|
},
|
|
"id": 288,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4263:52:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 289,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4263:52:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 275,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4108:56:0",
|
|
"text": " @dev See {IERC721-setApprovalForAll}."
|
|
},
|
|
"functionSelector": "a22cb465",
|
|
"id": 291,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "setApprovalForAll",
|
|
"nameLocation": "4178:17:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 281,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "4244:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 280,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 277,
|
|
"mutability": "mutable",
|
|
"name": "operator",
|
|
"nameLocation": "4204:8:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 291,
|
|
"src": "4196:16:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 276,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4196:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 279,
|
|
"mutability": "mutable",
|
|
"name": "approved",
|
|
"nameLocation": "4219:8:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 291,
|
|
"src": "4214:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 278,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4214:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4195:33:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 282,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4253:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "4169:153:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
1041
|
|
],
|
|
"body": {
|
|
"id": 308,
|
|
"nodeType": "Block",
|
|
"src": "4491:59:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"baseExpression": {
|
|
"baseExpression": {
|
|
"id": 302,
|
|
"name": "_operatorApprovals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45,
|
|
"src": "4508:18:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$",
|
|
"typeString": "mapping(address => mapping(address => bool))"
|
|
}
|
|
},
|
|
"id": 304,
|
|
"indexExpression": {
|
|
"id": 303,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 294,
|
|
"src": "4527:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4508:25:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 306,
|
|
"indexExpression": {
|
|
"id": 305,
|
|
"name": "operator",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 296,
|
|
"src": "4534:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4508:35:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 301,
|
|
"id": 307,
|
|
"nodeType": "Return",
|
|
"src": "4501:42:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 292,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4328:55:0",
|
|
"text": " @dev See {IERC721-isApprovedForAll}."
|
|
},
|
|
"functionSelector": "e985e9c5",
|
|
"id": 309,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "isApprovedForAll",
|
|
"nameLocation": "4397:16:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 298,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "4467:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 297,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 294,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nameLocation": "4422:5:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 309,
|
|
"src": "4414:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 293,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4414:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 296,
|
|
"mutability": "mutable",
|
|
"name": "operator",
|
|
"nameLocation": "4437:8:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 309,
|
|
"src": "4429:16:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 295,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4429:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4413:33:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 301,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 300,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 309,
|
|
"src": "4485:4:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 299,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4485:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4484:6:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "4388:162:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
1007
|
|
],
|
|
"body": {
|
|
"id": 335,
|
|
"nodeType": "Block",
|
|
"src": "4701:207:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 322,
|
|
"name": "_msgSender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1476,
|
|
"src": "4790:10:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
|
|
"typeString": "function () view returns (address)"
|
|
}
|
|
},
|
|
"id": 323,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4790:12:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 324,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 316,
|
|
"src": "4804:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 321,
|
|
"name": "_isApprovedOrOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 479,
|
|
"src": "4771:18:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$",
|
|
"typeString": "function (address,uint256) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 325,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4771:41:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564",
|
|
"id": 326,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4814:47:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af",
|
|
"typeString": "literal_string \"ERC721: caller is not token owner or approved\""
|
|
},
|
|
"value": "ERC721: caller is not token owner or approved"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af",
|
|
"typeString": "literal_string \"ERC721: caller is not token owner or approved\""
|
|
}
|
|
],
|
|
"id": 320,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "4763:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 327,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4763:99:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 328,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4763:99:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 330,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 312,
|
|
"src": "4883:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 331,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 314,
|
|
"src": "4889:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 332,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 316,
|
|
"src": "4893:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 329,
|
|
"name": "_transfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 752,
|
|
"src": "4873:9:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256)"
|
|
}
|
|
},
|
|
"id": 333,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4873:28:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 334,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4873:28:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 310,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4556:51:0",
|
|
"text": " @dev See {IERC721-transferFrom}."
|
|
},
|
|
"functionSelector": "23b872dd",
|
|
"id": 336,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "transferFrom",
|
|
"nameLocation": "4621:12:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 318,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "4692:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 317,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 312,
|
|
"mutability": "mutable",
|
|
"name": "from",
|
|
"nameLocation": "4642:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 336,
|
|
"src": "4634:12:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 311,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4634:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 314,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "4656:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 336,
|
|
"src": "4648:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 313,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4648:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 316,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "4668:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 336,
|
|
"src": "4660:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 315,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4660:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4633:43:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 319,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4701:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "4612:296:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
997
|
|
],
|
|
"body": {
|
|
"id": 354,
|
|
"nodeType": "Block",
|
|
"src": "5067:56:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 348,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 339,
|
|
"src": "5094:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 349,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 341,
|
|
"src": "5100:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 350,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 343,
|
|
"src": "5104:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "",
|
|
"id": 351,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5113:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
}
|
|
],
|
|
"id": 347,
|
|
"name": "safeTransferFrom",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
355,
|
|
385
|
|
],
|
|
"referencedDeclaration": 385,
|
|
"src": "5077:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (address,address,uint256,bytes memory)"
|
|
}
|
|
},
|
|
"id": 352,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5077:39:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 353,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5077:39:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 337,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4914:55:0",
|
|
"text": " @dev See {IERC721-safeTransferFrom}."
|
|
},
|
|
"functionSelector": "42842e0e",
|
|
"id": 355,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "safeTransferFrom",
|
|
"nameLocation": "4983:16:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 345,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "5058:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 344,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 339,
|
|
"mutability": "mutable",
|
|
"name": "from",
|
|
"nameLocation": "5008:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 355,
|
|
"src": "5000:12:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 338,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5000:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 341,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "5022:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 355,
|
|
"src": "5014:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 340,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5014:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 343,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "5034:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 355,
|
|
"src": "5026:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 342,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5026:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4999:43:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 346,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5067:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "4974:149:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"baseFunctions": [
|
|
987
|
|
],
|
|
"body": {
|
|
"id": 384,
|
|
"nodeType": "Block",
|
|
"src": "5301:164:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 370,
|
|
"name": "_msgSender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1476,
|
|
"src": "5338:10:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
|
|
"typeString": "function () view returns (address)"
|
|
}
|
|
},
|
|
"id": 371,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5338:12:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 372,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 362,
|
|
"src": "5352:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 369,
|
|
"name": "_isApprovedOrOwner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 479,
|
|
"src": "5319:18:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$",
|
|
"typeString": "function (address,uint256) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 373,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5319:41:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564",
|
|
"id": 374,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5362:47:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af",
|
|
"typeString": "literal_string \"ERC721: caller is not token owner or approved\""
|
|
},
|
|
"value": "ERC721: caller is not token owner or approved"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af",
|
|
"typeString": "literal_string \"ERC721: caller is not token owner or approved\""
|
|
}
|
|
],
|
|
"id": 368,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "5311:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 375,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5311:99:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 376,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5311:99:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 378,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 358,
|
|
"src": "5434:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 379,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 360,
|
|
"src": "5440:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 380,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 362,
|
|
"src": "5444:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 381,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 364,
|
|
"src": "5453:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 377,
|
|
"name": "_safeTransfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 414,
|
|
"src": "5420:13:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (address,address,uint256,bytes memory)"
|
|
}
|
|
},
|
|
"id": 382,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5420:38:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 383,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5420:38:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 356,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5129:55:0",
|
|
"text": " @dev See {IERC721-safeTransferFrom}."
|
|
},
|
|
"functionSelector": "b88d4fde",
|
|
"id": 385,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "safeTransferFrom",
|
|
"nameLocation": "5198:16:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": {
|
|
"id": 366,
|
|
"nodeType": "OverrideSpecifier",
|
|
"overrides": [],
|
|
"src": "5292:8:0"
|
|
},
|
|
"parameters": {
|
|
"id": 365,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 358,
|
|
"mutability": "mutable",
|
|
"name": "from",
|
|
"nameLocation": "5223:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 385,
|
|
"src": "5215:12:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 357,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5215:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 360,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "5237:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 385,
|
|
"src": "5229:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 359,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5229:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 362,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "5249:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 385,
|
|
"src": "5241:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 361,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5241:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 364,
|
|
"mutability": "mutable",
|
|
"name": "data",
|
|
"nameLocation": "5271:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 385,
|
|
"src": "5258:17:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 363,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5258:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5214:62:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 367,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "5301:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "5189:276:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 413,
|
|
"nodeType": "Block",
|
|
"src": "6428:165:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 398,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 388,
|
|
"src": "6448:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 399,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 390,
|
|
"src": "6454:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 400,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 392,
|
|
"src": "6458:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 397,
|
|
"name": "_transfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 752,
|
|
"src": "6438:9:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256)"
|
|
}
|
|
},
|
|
"id": 401,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6438:28:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 402,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6438:28:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 405,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 388,
|
|
"src": "6507:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 406,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 390,
|
|
"src": "6513:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 407,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 392,
|
|
"src": "6517:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 408,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 394,
|
|
"src": "6526:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 404,
|
|
"name": "_checkOnERC721Received",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 884,
|
|
"src": "6484:22:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$",
|
|
"typeString": "function (address,address,uint256,bytes memory) returns (bool)"
|
|
}
|
|
},
|
|
"id": 409,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6484:47:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572",
|
|
"id": 410,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "6533:52:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
|
|
"typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\""
|
|
},
|
|
"value": "ERC721: transfer to non ERC721Receiver implementer"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
|
|
"typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\""
|
|
}
|
|
],
|
|
"id": 403,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "6476:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 411,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6476:110:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 412,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6476:110:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 386,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5471:850:0",
|
|
"text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."
|
|
},
|
|
"id": 414,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_safeTransfer",
|
|
"nameLocation": "6335:13:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 395,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 388,
|
|
"mutability": "mutable",
|
|
"name": "from",
|
|
"nameLocation": "6357:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 414,
|
|
"src": "6349:12:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 387,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6349:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 390,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "6371:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 414,
|
|
"src": "6363:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 389,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6363:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 392,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "6383:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 414,
|
|
"src": "6375:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 391,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6375:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 394,
|
|
"mutability": "mutable",
|
|
"name": "data",
|
|
"nameLocation": "6405:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 414,
|
|
"src": "6392:17:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 393,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6392:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6348:62:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 396,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "6428:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "6326:267:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 426,
|
|
"nodeType": "Block",
|
|
"src": "6777:40:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"baseExpression": {
|
|
"id": 422,
|
|
"name": "_owners",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 31,
|
|
"src": "6794:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
}
|
|
},
|
|
"id": 424,
|
|
"indexExpression": {
|
|
"id": 423,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 417,
|
|
"src": "6802:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "6794:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"functionReturnParameters": 421,
|
|
"id": 425,
|
|
"nodeType": "Return",
|
|
"src": "6787:23:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 415,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6599:98:0",
|
|
"text": " @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist"
|
|
},
|
|
"id": 427,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_ownerOf",
|
|
"nameLocation": "6711:8:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 418,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 417,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "6728:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 427,
|
|
"src": "6720:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 416,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6720:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6719:17:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 421,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 420,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 427,
|
|
"src": "6768:7:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 419,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6768:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6767:9:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "6702:115:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 444,
|
|
"nodeType": "Block",
|
|
"src": "7191:55:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 442,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 436,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 430,
|
|
"src": "7217:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 435,
|
|
"name": "_ownerOf",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 427,
|
|
"src": "7208:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view returns (address)"
|
|
}
|
|
},
|
|
"id": 437,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7208:17:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 440,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "7237:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 439,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7229:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 438,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7229:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 441,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7229:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "7208:31:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 434,
|
|
"id": 443,
|
|
"nodeType": "Return",
|
|
"src": "7201:38:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 428,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6823:292:0",
|
|
"text": " @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)."
|
|
},
|
|
"id": 445,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_exists",
|
|
"nameLocation": "7129:7:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 431,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 430,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "7145:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 445,
|
|
"src": "7137:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 429,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7137:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7136:17:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 434,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 433,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 445,
|
|
"src": "7185:4:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 432,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7185:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7184:6:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "7120:126:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 478,
|
|
"nodeType": "Block",
|
|
"src": "7503:162:0",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
456
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 456,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nameLocation": "7521:5:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 478,
|
|
"src": "7513:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 455,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7513:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 461,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 459,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 450,
|
|
"src": "7544:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 457,
|
|
"name": "ERC721",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 926,
|
|
"src": "7529:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_ERC721_$926_$",
|
|
"typeString": "type(contract ERC721)"
|
|
}
|
|
},
|
|
"id": 458,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "7536:7:0",
|
|
"memberName": "ownerOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 145,
|
|
"src": "7529:14:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view returns (address)"
|
|
}
|
|
},
|
|
"id": 460,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7529:23:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "7513:39:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"components": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 475,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 469,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 464,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 462,
|
|
"name": "spender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 448,
|
|
"src": "7570:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"id": 463,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 456,
|
|
"src": "7581:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "7570:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "||",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 466,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 456,
|
|
"src": "7607:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 467,
|
|
"name": "spender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 448,
|
|
"src": "7614:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 465,
|
|
"name": "isApprovedForAll",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 309,
|
|
"src": "7590:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$",
|
|
"typeString": "function (address,address) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 468,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7590:32:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "7570:52:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "||",
|
|
"rightExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 474,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 471,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 450,
|
|
"src": "7638:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 470,
|
|
"name": "getApproved",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 274,
|
|
"src": "7626:11:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view returns (address)"
|
|
}
|
|
},
|
|
"id": 472,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7626:20:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"id": 473,
|
|
"name": "spender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 448,
|
|
"src": "7650:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "7626:31:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "7570:87:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
}
|
|
],
|
|
"id": 476,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "7569:89:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 454,
|
|
"id": 477,
|
|
"nodeType": "Return",
|
|
"src": "7562:96:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 446,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "7252:147:0",
|
|
"text": " @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist."
|
|
},
|
|
"id": 479,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_isApprovedOrOwner",
|
|
"nameLocation": "7413:18:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 451,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 448,
|
|
"mutability": "mutable",
|
|
"name": "spender",
|
|
"nameLocation": "7440:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 479,
|
|
"src": "7432:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 447,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7432:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 450,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "7457:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 479,
|
|
"src": "7449:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 449,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7449:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7431:34:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 454,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 453,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 479,
|
|
"src": "7497:4:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 452,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7497:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7496:6:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "7404:261:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 493,
|
|
"nodeType": "Block",
|
|
"src": "8060:43:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 488,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 482,
|
|
"src": "8080:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 489,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 484,
|
|
"src": "8084:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "",
|
|
"id": 490,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "8093:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
},
|
|
"value": ""
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
|
|
"typeString": "literal_string \"\""
|
|
}
|
|
],
|
|
"id": 487,
|
|
"name": "_safeMint",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
494,
|
|
523
|
|
],
|
|
"referencedDeclaration": 523,
|
|
"src": "8070:9:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$",
|
|
"typeString": "function (address,uint256,bytes memory)"
|
|
}
|
|
},
|
|
"id": 491,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8070:26:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 492,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8070:26:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 480,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "7671:319:0",
|
|
"text": " @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."
|
|
},
|
|
"id": 494,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_safeMint",
|
|
"nameLocation": "8004:9:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 485,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 482,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "8022:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 494,
|
|
"src": "8014:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 481,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8014:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 484,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "8034:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 494,
|
|
"src": "8026:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 483,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8026:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8013:29:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 486,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8060:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "7995:108:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 522,
|
|
"nodeType": "Block",
|
|
"src": "8408:195:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 505,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 497,
|
|
"src": "8424:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 506,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 499,
|
|
"src": "8428:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 504,
|
|
"name": "_mint",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 600,
|
|
"src": "8418:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,uint256)"
|
|
}
|
|
},
|
|
"id": 507,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8418:18:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 508,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8418:18:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 513,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "8498:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 512,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "8490:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 511,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8490:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 514,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8490:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 515,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 497,
|
|
"src": "8502:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 516,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 499,
|
|
"src": "8506:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 517,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 501,
|
|
"src": "8515:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 510,
|
|
"name": "_checkOnERC721Received",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 884,
|
|
"src": "8467:22:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$",
|
|
"typeString": "function (address,address,uint256,bytes memory) returns (bool)"
|
|
}
|
|
},
|
|
"id": 518,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8467:53:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572",
|
|
"id": 519,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "8534:52:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
|
|
"typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\""
|
|
},
|
|
"value": "ERC721: transfer to non ERC721Receiver implementer"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
|
|
"typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\""
|
|
}
|
|
],
|
|
"id": 509,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "8446:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 520,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8446:150:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 521,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8446:150:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 495,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "8109:210:0",
|
|
"text": " @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."
|
|
},
|
|
"id": 523,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_safeMint",
|
|
"nameLocation": "8333:9:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 502,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 497,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "8351:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 523,
|
|
"src": "8343:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 496,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8343:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 499,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "8363:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 523,
|
|
"src": "8355:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 498,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8355:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 501,
|
|
"mutability": "mutable",
|
|
"name": "data",
|
|
"nameLocation": "8385:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 523,
|
|
"src": "8372:17:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 500,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8372:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8342:48:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 503,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8408:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "8324:279:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 599,
|
|
"nodeType": "Block",
|
|
"src": "8986:859:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 537,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 532,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 526,
|
|
"src": "9004:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 535,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9018:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 534,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "9010:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 533,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "9010:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 536,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9010:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "9004:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373",
|
|
"id": 538,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9022:34:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6",
|
|
"typeString": "literal_string \"ERC721: mint to the zero address\""
|
|
},
|
|
"value": "ERC721: mint to the zero address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6",
|
|
"typeString": "literal_string \"ERC721: mint to the zero address\""
|
|
}
|
|
],
|
|
"id": 531,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "8996:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 539,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8996:61:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 540,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "8996:61:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 545,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"src": "9075:17:0",
|
|
"subExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 543,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 528,
|
|
"src": "9084:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 542,
|
|
"name": "_exists",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 445,
|
|
"src": "9076:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
|
|
"typeString": "function (uint256) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 544,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9076:16:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564",
|
|
"id": 546,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9094:30:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57",
|
|
"typeString": "literal_string \"ERC721: token already minted\""
|
|
},
|
|
"value": "ERC721: token already minted"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57",
|
|
"typeString": "literal_string \"ERC721: token already minted\""
|
|
}
|
|
],
|
|
"id": 541,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "9067:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 547,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9067:58:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 548,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9067:58:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 552,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9165:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 551,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "9157:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 550,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "9157:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 553,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9157:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 554,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 526,
|
|
"src": "9169:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 555,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 528,
|
|
"src": "9173:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "31",
|
|
"id": 556,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9182:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
}
|
|
],
|
|
"id": 549,
|
|
"name": "_beforeTokenTransfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 897,
|
|
"src": "9136:20:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256,uint256)"
|
|
}
|
|
},
|
|
"id": 557,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9136:48:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 558,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9136:48:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 563,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"src": "9279:17:0",
|
|
"subExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 561,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 528,
|
|
"src": "9288:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 560,
|
|
"name": "_exists",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 445,
|
|
"src": "9280:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
|
|
"typeString": "function (uint256) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 562,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9280:16:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564",
|
|
"id": 564,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9298:30:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57",
|
|
"typeString": "literal_string \"ERC721: token already minted\""
|
|
},
|
|
"value": "ERC721: token already minted"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57",
|
|
"typeString": "literal_string \"ERC721: token already minted\""
|
|
}
|
|
],
|
|
"id": 559,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "9271:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 565,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9271:58:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 566,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9271:58:0"
|
|
},
|
|
{
|
|
"id": 573,
|
|
"nodeType": "UncheckedBlock",
|
|
"src": "9340:360:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 571,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 567,
|
|
"name": "_balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 35,
|
|
"src": "9671:9:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 569,
|
|
"indexExpression": {
|
|
"id": 568,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 526,
|
|
"src": "9681:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9671:13:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"hexValue": "31",
|
|
"id": 570,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9688:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "9671:18:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 572,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9671:18:0"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 578,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 574,
|
|
"name": "_owners",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 31,
|
|
"src": "9710:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
}
|
|
},
|
|
"id": 576,
|
|
"indexExpression": {
|
|
"id": 575,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 528,
|
|
"src": "9718:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "9710:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 577,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 526,
|
|
"src": "9729:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "9710:21:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 579,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9710:21:0"
|
|
},
|
|
{
|
|
"eventCall": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 583,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9764:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 582,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "9756:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 581,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "9756:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 584,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9756:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 585,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 526,
|
|
"src": "9768:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 586,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 528,
|
|
"src": "9772:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 580,
|
|
"name": "Transfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 941,
|
|
"src": "9747:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256)"
|
|
}
|
|
},
|
|
"id": 587,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9747:33:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 588,
|
|
"nodeType": "EmitStatement",
|
|
"src": "9742:38:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 592,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9819:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 591,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "9811:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 590,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "9811:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 593,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9811:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 594,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 526,
|
|
"src": "9823:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 595,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 528,
|
|
"src": "9827:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "31",
|
|
"id": 596,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "9836:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
}
|
|
],
|
|
"id": 589,
|
|
"name": "_afterTokenTransfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 910,
|
|
"src": "9791:19:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256,uint256)"
|
|
}
|
|
},
|
|
"id": 597,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "9791:47:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 598,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "9791:47:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 524,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "8609:311:0",
|
|
"text": " @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event."
|
|
},
|
|
"id": 600,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_mint",
|
|
"nameLocation": "8934:5:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 529,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 526,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "8948:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 600,
|
|
"src": "8940:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 525,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8940:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 528,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "8960:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 600,
|
|
"src": "8952:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 527,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8952:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8939:29:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 530,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "8986:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "8925:920:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 666,
|
|
"nodeType": "Block",
|
|
"src": "10220:713:0",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
607
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 607,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nameLocation": "10238:5:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 666,
|
|
"src": "10230:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 606,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10230:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 612,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 610,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 603,
|
|
"src": "10261:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 608,
|
|
"name": "ERC721",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 926,
|
|
"src": "10246:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_ERC721_$926_$",
|
|
"typeString": "type(contract ERC721)"
|
|
}
|
|
},
|
|
"id": 609,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "10253:7:0",
|
|
"memberName": "ownerOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 145,
|
|
"src": "10246:14:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view returns (address)"
|
|
}
|
|
},
|
|
"id": 611,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10246:23:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "10230:39:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 614,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 607,
|
|
"src": "10301:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 617,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10316:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 616,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "10308:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 615,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10308:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 618,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10308:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 619,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 603,
|
|
"src": "10320:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "31",
|
|
"id": 620,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10329:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
}
|
|
],
|
|
"id": 613,
|
|
"name": "_beforeTokenTransfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 897,
|
|
"src": "10280:20:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256,uint256)"
|
|
}
|
|
},
|
|
"id": 621,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10280:51:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 622,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10280:51:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 628,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 623,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 607,
|
|
"src": "10433:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 626,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 603,
|
|
"src": "10456:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 624,
|
|
"name": "ERC721",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 926,
|
|
"src": "10441:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_ERC721_$926_$",
|
|
"typeString": "type(contract ERC721)"
|
|
}
|
|
},
|
|
"id": 625,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "10448:7:0",
|
|
"memberName": "ownerOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 145,
|
|
"src": "10441:14:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view returns (address)"
|
|
}
|
|
},
|
|
"id": 627,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10441:23:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "10433:31:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 629,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10433:31:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 633,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "delete",
|
|
"prefix": true,
|
|
"src": "10502:31:0",
|
|
"subExpression": {
|
|
"baseExpression": {
|
|
"id": 630,
|
|
"name": "_tokenApprovals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 39,
|
|
"src": "10509:15:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
}
|
|
},
|
|
"id": 632,
|
|
"indexExpression": {
|
|
"id": 631,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 603,
|
|
"src": "10525:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "10509:24:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 634,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10502:31:0"
|
|
},
|
|
{
|
|
"id": 641,
|
|
"nodeType": "UncheckedBlock",
|
|
"src": "10544:237:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 639,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 635,
|
|
"name": "_balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 35,
|
|
"src": "10749:9:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 637,
|
|
"indexExpression": {
|
|
"id": 636,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 607,
|
|
"src": "10759:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "10749:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "-=",
|
|
"rightHandSide": {
|
|
"hexValue": "31",
|
|
"id": 638,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10769:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "10749:21:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 640,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10749:21:0"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 645,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "delete",
|
|
"prefix": true,
|
|
"src": "10790:23:0",
|
|
"subExpression": {
|
|
"baseExpression": {
|
|
"id": 642,
|
|
"name": "_owners",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 31,
|
|
"src": "10797:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
}
|
|
},
|
|
"id": 644,
|
|
"indexExpression": {
|
|
"id": 643,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 603,
|
|
"src": "10805:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "10797:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 646,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10790:23:0"
|
|
},
|
|
{
|
|
"eventCall": {
|
|
"arguments": [
|
|
{
|
|
"id": 648,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 607,
|
|
"src": "10838:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 651,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10853:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 650,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "10845:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 649,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10845:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 652,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10845:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 653,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 603,
|
|
"src": "10857:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 647,
|
|
"name": "Transfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 941,
|
|
"src": "10829:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256)"
|
|
}
|
|
},
|
|
"id": 654,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10829:36:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 655,
|
|
"nodeType": "EmitStatement",
|
|
"src": "10824:41:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 657,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 607,
|
|
"src": "10896:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 660,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10911:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 659,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "10903:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 658,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10903:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 661,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10903:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 662,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 603,
|
|
"src": "10915:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "31",
|
|
"id": 663,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "10924:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
}
|
|
],
|
|
"id": 656,
|
|
"name": "_afterTokenTransfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 910,
|
|
"src": "10876:19:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256,uint256)"
|
|
}
|
|
},
|
|
"id": 664,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "10876:50:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 665,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "10876:50:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 601,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "9851:315:0",
|
|
"text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n This is an internal function that does not check if the sender is authorized to operate on the token.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event."
|
|
},
|
|
"id": 667,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_burn",
|
|
"nameLocation": "10180:5:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 604,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 603,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "10194:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 667,
|
|
"src": "10186:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 602,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "10186:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "10185:17:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 605,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "10220:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "10171:762:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 751,
|
|
"nodeType": "Block",
|
|
"src": "11336:1124:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 683,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 680,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 674,
|
|
"src": "11369:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 678,
|
|
"name": "ERC721",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 926,
|
|
"src": "11354:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_ERC721_$926_$",
|
|
"typeString": "type(contract ERC721)"
|
|
}
|
|
},
|
|
"id": 679,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "11361:7:0",
|
|
"memberName": "ownerOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 145,
|
|
"src": "11354:14:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view returns (address)"
|
|
}
|
|
},
|
|
"id": 681,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11354:23:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"id": 682,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 670,
|
|
"src": "11381:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "11354:31:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572",
|
|
"id": 684,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11387:39:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48",
|
|
"typeString": "literal_string \"ERC721: transfer from incorrect owner\""
|
|
},
|
|
"value": "ERC721: transfer from incorrect owner"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48",
|
|
"typeString": "literal_string \"ERC721: transfer from incorrect owner\""
|
|
}
|
|
],
|
|
"id": 677,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "11346:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 685,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11346:81:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 686,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11346:81:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 693,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 688,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 672,
|
|
"src": "11445:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 691,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11459:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 690,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "11451:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 689,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "11451:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 692,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11451:10:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "11445:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373",
|
|
"id": 694,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11463:38:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4",
|
|
"typeString": "literal_string \"ERC721: transfer to the zero address\""
|
|
},
|
|
"value": "ERC721: transfer to the zero address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4",
|
|
"typeString": "literal_string \"ERC721: transfer to the zero address\""
|
|
}
|
|
],
|
|
"id": 687,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "11437:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 695,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11437:65:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 696,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11437:65:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 698,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 670,
|
|
"src": "11534:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 699,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 672,
|
|
"src": "11540:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 700,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 674,
|
|
"src": "11544:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "31",
|
|
"id": 701,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11553:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
}
|
|
],
|
|
"id": 697,
|
|
"name": "_beforeTokenTransfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 897,
|
|
"src": "11513:20:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256,uint256)"
|
|
}
|
|
},
|
|
"id": 702,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11513:42:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 703,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11513:42:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 710,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 707,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 674,
|
|
"src": "11670:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 705,
|
|
"name": "ERC721",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 926,
|
|
"src": "11655:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_ERC721_$926_$",
|
|
"typeString": "type(contract ERC721)"
|
|
}
|
|
},
|
|
"id": 706,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "11662:7:0",
|
|
"memberName": "ownerOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 145,
|
|
"src": "11655:14:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view returns (address)"
|
|
}
|
|
},
|
|
"id": 708,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11655:23:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"id": 709,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 670,
|
|
"src": "11682:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "11655:31:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572",
|
|
"id": 711,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "11688:39:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48",
|
|
"typeString": "literal_string \"ERC721: transfer from incorrect owner\""
|
|
},
|
|
"value": "ERC721: transfer from incorrect owner"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48",
|
|
"typeString": "literal_string \"ERC721: transfer from incorrect owner\""
|
|
}
|
|
],
|
|
"id": 704,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "11647:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 712,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "11647:81:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 713,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11647:81:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 717,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "delete",
|
|
"prefix": true,
|
|
"src": "11790:31:0",
|
|
"subExpression": {
|
|
"baseExpression": {
|
|
"id": 714,
|
|
"name": "_tokenApprovals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 39,
|
|
"src": "11797:15:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
}
|
|
},
|
|
"id": 716,
|
|
"indexExpression": {
|
|
"id": 715,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 674,
|
|
"src": "11813:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "11797:24:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 718,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "11790:31:0"
|
|
},
|
|
{
|
|
"id": 731,
|
|
"nodeType": "UncheckedBlock",
|
|
"src": "11832:496:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 723,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 719,
|
|
"name": "_balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 35,
|
|
"src": "12265:9:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 721,
|
|
"indexExpression": {
|
|
"id": 720,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 670,
|
|
"src": "12275:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "12265:15:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "-=",
|
|
"rightHandSide": {
|
|
"hexValue": "31",
|
|
"id": 722,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "12284:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "12265:20:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 724,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "12265:20:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 729,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 725,
|
|
"name": "_balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 35,
|
|
"src": "12299:9:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 727,
|
|
"indexExpression": {
|
|
"id": 726,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 672,
|
|
"src": "12309:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "12299:13:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"hexValue": "31",
|
|
"id": 728,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "12316:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "12299:18:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 730,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "12299:18:0"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 736,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 732,
|
|
"name": "_owners",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 31,
|
|
"src": "12337:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
}
|
|
},
|
|
"id": 734,
|
|
"indexExpression": {
|
|
"id": 733,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 674,
|
|
"src": "12345:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "12337:16:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 735,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 672,
|
|
"src": "12356:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "12337:21:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 737,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "12337:21:0"
|
|
},
|
|
{
|
|
"eventCall": {
|
|
"arguments": [
|
|
{
|
|
"id": 739,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 670,
|
|
"src": "12383:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 740,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 672,
|
|
"src": "12389:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 741,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 674,
|
|
"src": "12393:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 738,
|
|
"name": "Transfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 941,
|
|
"src": "12374:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256)"
|
|
}
|
|
},
|
|
"id": 742,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "12374:27:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 743,
|
|
"nodeType": "EmitStatement",
|
|
"src": "12369:32:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 745,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 670,
|
|
"src": "12432:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 746,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 672,
|
|
"src": "12438:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 747,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 674,
|
|
"src": "12442:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "31",
|
|
"id": 748,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "12451:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
}
|
|
],
|
|
"id": 744,
|
|
"name": "_afterTokenTransfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 910,
|
|
"src": "12412:19:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256,uint256)"
|
|
}
|
|
},
|
|
"id": 749,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "12412:41:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 750,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "12412:41:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 668,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "10939:313:0",
|
|
"text": " @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event."
|
|
},
|
|
"id": 752,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_transfer",
|
|
"nameLocation": "11266:9:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 675,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 670,
|
|
"mutability": "mutable",
|
|
"name": "from",
|
|
"nameLocation": "11284:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 752,
|
|
"src": "11276:12:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 669,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "11276:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 672,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "11298:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 752,
|
|
"src": "11290:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 671,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "11290:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 674,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "11310:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 752,
|
|
"src": "11302:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 673,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "11302:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "11275:43:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 676,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "11336:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "11257:1203:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 775,
|
|
"nodeType": "Block",
|
|
"src": "12636:107:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 764,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 760,
|
|
"name": "_tokenApprovals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 39,
|
|
"src": "12646:15:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
|
|
"typeString": "mapping(uint256 => address)"
|
|
}
|
|
},
|
|
"id": 762,
|
|
"indexExpression": {
|
|
"id": 761,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 757,
|
|
"src": "12662:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "12646:24:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 763,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 755,
|
|
"src": "12673:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "12646:29:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 765,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "12646:29:0"
|
|
},
|
|
{
|
|
"eventCall": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 769,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 757,
|
|
"src": "12714:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 767,
|
|
"name": "ERC721",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 926,
|
|
"src": "12699:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_ERC721_$926_$",
|
|
"typeString": "type(contract ERC721)"
|
|
}
|
|
},
|
|
"id": 768,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "12706:7:0",
|
|
"memberName": "ownerOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 145,
|
|
"src": "12699:14:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
|
|
"typeString": "function (uint256) view returns (address)"
|
|
}
|
|
},
|
|
"id": 770,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "12699:23:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 771,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 755,
|
|
"src": "12724:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 772,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 757,
|
|
"src": "12728:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 766,
|
|
"name": "Approval",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 950,
|
|
"src": "12690:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256)"
|
|
}
|
|
},
|
|
"id": 773,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "12690:46:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 774,
|
|
"nodeType": "EmitStatement",
|
|
"src": "12685:51:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 753,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "12466:101:0",
|
|
"text": " @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event."
|
|
},
|
|
"id": 776,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_approve",
|
|
"nameLocation": "12581:8:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 758,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 755,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "12598:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 776,
|
|
"src": "12590:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 754,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "12590:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 757,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "12610:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 776,
|
|
"src": "12602:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 756,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "12602:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "12589:29:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 759,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "12636:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "12572:171:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 807,
|
|
"nodeType": "Block",
|
|
"src": "12972:184:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 789,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 787,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 779,
|
|
"src": "12990:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"id": 788,
|
|
"name": "operator",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 781,
|
|
"src": "12999:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "12990:17:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20617070726f766520746f2063616c6c6572",
|
|
"id": 790,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "13009:27:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05",
|
|
"typeString": "literal_string \"ERC721: approve to caller\""
|
|
},
|
|
"value": "ERC721: approve to caller"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05",
|
|
"typeString": "literal_string \"ERC721: approve to caller\""
|
|
}
|
|
],
|
|
"id": 786,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "12982:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 791,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "12982:55:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 792,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "12982:55:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 799,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"baseExpression": {
|
|
"id": 793,
|
|
"name": "_operatorApprovals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45,
|
|
"src": "13047:18:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$",
|
|
"typeString": "mapping(address => mapping(address => bool))"
|
|
}
|
|
},
|
|
"id": 796,
|
|
"indexExpression": {
|
|
"id": 794,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 779,
|
|
"src": "13066:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "13047:25:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
|
|
"typeString": "mapping(address => bool)"
|
|
}
|
|
},
|
|
"id": 797,
|
|
"indexExpression": {
|
|
"id": 795,
|
|
"name": "operator",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 781,
|
|
"src": "13073:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "13047:35:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 798,
|
|
"name": "approved",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 783,
|
|
"src": "13085:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "13047:46:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 800,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "13047:46:0"
|
|
},
|
|
{
|
|
"eventCall": {
|
|
"arguments": [
|
|
{
|
|
"id": 802,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 779,
|
|
"src": "13123:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 803,
|
|
"name": "operator",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 781,
|
|
"src": "13130:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 804,
|
|
"name": "approved",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 783,
|
|
"src": "13140:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
],
|
|
"id": 801,
|
|
"name": "ApprovalForAll",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 959,
|
|
"src": "13108:14:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$",
|
|
"typeString": "function (address,address,bool)"
|
|
}
|
|
},
|
|
"id": 805,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "13108:41:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 806,
|
|
"nodeType": "EmitStatement",
|
|
"src": "13103:46:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 777,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "12749:125:0",
|
|
"text": " @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event."
|
|
},
|
|
"id": 808,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_setApprovalForAll",
|
|
"nameLocation": "12888:18:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 784,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 779,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nameLocation": "12915:5:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 808,
|
|
"src": "12907:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 778,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "12907:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 781,
|
|
"mutability": "mutable",
|
|
"name": "operator",
|
|
"nameLocation": "12930:8:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 808,
|
|
"src": "12922:16:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 780,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "12922:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 783,
|
|
"mutability": "mutable",
|
|
"name": "approved",
|
|
"nameLocation": "12945:8:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 808,
|
|
"src": "12940:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 782,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "12940:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "12906:48:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 785,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "12972:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "12879:277:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 821,
|
|
"nodeType": "Block",
|
|
"src": "13303:70:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 816,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 811,
|
|
"src": "13329:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 815,
|
|
"name": "_exists",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 445,
|
|
"src": "13321:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
|
|
"typeString": "function (uint256) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 817,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "13321:16:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4552433732313a20696e76616c696420746f6b656e204944",
|
|
"id": 818,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "13339:26:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f",
|
|
"typeString": "literal_string \"ERC721: invalid token ID\""
|
|
},
|
|
"value": "ERC721: invalid token ID"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f",
|
|
"typeString": "literal_string \"ERC721: invalid token ID\""
|
|
}
|
|
],
|
|
"id": 814,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "13313:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 819,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "13313:53:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 820,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "13313:53:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 809,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "13162:73:0",
|
|
"text": " @dev Reverts if the `tokenId` has not been minted yet."
|
|
},
|
|
"id": 822,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_requireMinted",
|
|
"nameLocation": "13249:14:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 812,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 811,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "13272:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 822,
|
|
"src": "13264:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 810,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "13264:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "13263:17:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 813,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "13303:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "13240:133:0",
|
|
"stateMutability": "view",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 883,
|
|
"nodeType": "Block",
|
|
"src": "14080:676:0",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"id": 836,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 827,
|
|
"src": "14094:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 837,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "14097:10:0",
|
|
"memberName": "isContract",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 1105,
|
|
"src": "14094:13:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$",
|
|
"typeString": "function (address) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 838,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "14094:15:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 881,
|
|
"nodeType": "Block",
|
|
"src": "14714:36:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"hexValue": "74727565",
|
|
"id": 879,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "14735:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"functionReturnParameters": 835,
|
|
"id": 880,
|
|
"nodeType": "Return",
|
|
"src": "14728:11:0"
|
|
}
|
|
]
|
|
},
|
|
"id": 882,
|
|
"nodeType": "IfStatement",
|
|
"src": "14090:660:0",
|
|
"trueBody": {
|
|
"id": 878,
|
|
"nodeType": "Block",
|
|
"src": "14111:597:0",
|
|
"statements": [
|
|
{
|
|
"clauses": [
|
|
{
|
|
"block": {
|
|
"id": 858,
|
|
"nodeType": "Block",
|
|
"src": "14225:91:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"id": 856,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 852,
|
|
"name": "retval",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 850,
|
|
"src": "14250:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"expression": {
|
|
"id": 853,
|
|
"name": "IERC721Receiver",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1060,
|
|
"src": "14260:15:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1060_$",
|
|
"typeString": "type(contract IERC721Receiver)"
|
|
}
|
|
},
|
|
"id": 854,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "14276:16:0",
|
|
"memberName": "onERC721Received",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 1059,
|
|
"src": "14260:32:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 855,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "14293:8:0",
|
|
"memberName": "selector",
|
|
"nodeType": "MemberAccess",
|
|
"src": "14260:41:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"src": "14250:51:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 835,
|
|
"id": 857,
|
|
"nodeType": "Return",
|
|
"src": "14243:58:0"
|
|
}
|
|
]
|
|
},
|
|
"errorName": "",
|
|
"id": 859,
|
|
"nodeType": "TryCatchClause",
|
|
"parameters": {
|
|
"id": 851,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 850,
|
|
"mutability": "mutable",
|
|
"name": "retval",
|
|
"nameLocation": "14217:6:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 859,
|
|
"src": "14210:13:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
},
|
|
"typeName": {
|
|
"id": 849,
|
|
"name": "bytes4",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "14210:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "14209:15:0"
|
|
},
|
|
"src": "14201:115:0"
|
|
},
|
|
{
|
|
"block": {
|
|
"id": 875,
|
|
"nodeType": "Block",
|
|
"src": "14345:353:0",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 866,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"expression": {
|
|
"id": 863,
|
|
"name": "reason",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 861,
|
|
"src": "14367:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
},
|
|
"id": 864,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "14374:6:0",
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "14367:13:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 865,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "14384:1:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "14367:18:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 873,
|
|
"nodeType": "Block",
|
|
"src": "14494:190:0",
|
|
"statements": [
|
|
{
|
|
"AST": {
|
|
"nodeType": "YulBlock",
|
|
"src": "14580:86:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "14617:2:0",
|
|
"type": "",
|
|
"value": "32"
|
|
},
|
|
{
|
|
"name": "reason",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14621:6:0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14613:3:0"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14613:15:0"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "reason",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14636:6:0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14630:5:0"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14630:13:0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "14606:6:0"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "14606:38:0"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "14606:38:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": "@solidity memory-safe-assembly",
|
|
"evmVersion": "paris",
|
|
"externalReferences": [
|
|
{
|
|
"declaration": 861,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "14621:6:0",
|
|
"valueSize": 1
|
|
},
|
|
{
|
|
"declaration": 861,
|
|
"isOffset": false,
|
|
"isSlot": false,
|
|
"src": "14636:6:0",
|
|
"valueSize": 1
|
|
}
|
|
],
|
|
"id": 872,
|
|
"nodeType": "InlineAssembly",
|
|
"src": "14571:95:0"
|
|
}
|
|
]
|
|
},
|
|
"id": 874,
|
|
"nodeType": "IfStatement",
|
|
"src": "14363:321:0",
|
|
"trueBody": {
|
|
"id": 871,
|
|
"nodeType": "Block",
|
|
"src": "14387:101:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572",
|
|
"id": 868,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "14416:52:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
|
|
"typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\""
|
|
},
|
|
"value": "ERC721: transfer to non ERC721Receiver implementer"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
|
|
"typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\""
|
|
}
|
|
],
|
|
"id": 867,
|
|
"name": "revert",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967277,
|
|
4294967277
|
|
],
|
|
"referencedDeclaration": 4294967277,
|
|
"src": "14409:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 869,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "14409:60:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 870,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "14409:60:0"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"errorName": "",
|
|
"id": 876,
|
|
"nodeType": "TryCatchClause",
|
|
"parameters": {
|
|
"id": 862,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 861,
|
|
"mutability": "mutable",
|
|
"name": "reason",
|
|
"nameLocation": "14337:6:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 876,
|
|
"src": "14324:19:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 860,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "14324:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "14323:21:0"
|
|
},
|
|
"src": "14317:381:0"
|
|
}
|
|
],
|
|
"externalCall": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 843,
|
|
"name": "_msgSender",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1476,
|
|
"src": "14166:10:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
|
|
"typeString": "function () view returns (address)"
|
|
}
|
|
},
|
|
"id": 844,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "14166:12:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 845,
|
|
"name": "from",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 825,
|
|
"src": "14180:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 846,
|
|
"name": "tokenId",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 829,
|
|
"src": "14186:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 847,
|
|
"name": "data",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 831,
|
|
"src": "14195:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 840,
|
|
"name": "to",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 827,
|
|
"src": "14145:2:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 839,
|
|
"name": "IERC721Receiver",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1060,
|
|
"src": "14129:15:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1060_$",
|
|
"typeString": "type(contract IERC721Receiver)"
|
|
}
|
|
},
|
|
"id": 841,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "14129:19:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IERC721Receiver_$1060",
|
|
"typeString": "contract IERC721Receiver"
|
|
}
|
|
},
|
|
"id": 842,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "14149:16:0",
|
|
"memberName": "onERC721Received",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 1059,
|
|
"src": "14129:36:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
|
|
"typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)"
|
|
}
|
|
},
|
|
"id": 848,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "14129:71:0",
|
|
"tryCall": true,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes4",
|
|
"typeString": "bytes4"
|
|
}
|
|
},
|
|
"id": 877,
|
|
"nodeType": "TryStatement",
|
|
"src": "14125:573:0"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 823,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "13379:541:0",
|
|
"text": " @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value"
|
|
},
|
|
"id": 884,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_checkOnERC721Received",
|
|
"nameLocation": "13934:22:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 832,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 825,
|
|
"mutability": "mutable",
|
|
"name": "from",
|
|
"nameLocation": "13974:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 884,
|
|
"src": "13966:12:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 824,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "13966:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 827,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "13996:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 884,
|
|
"src": "13988:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 826,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "13988:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 829,
|
|
"mutability": "mutable",
|
|
"name": "tokenId",
|
|
"nameLocation": "14016:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 884,
|
|
"src": "14008:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 828,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "14008:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 831,
|
|
"mutability": "mutable",
|
|
"name": "data",
|
|
"nameLocation": "14046:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 884,
|
|
"src": "14033:17:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes"
|
|
},
|
|
"typeName": {
|
|
"id": 830,
|
|
"name": "bytes",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "14033:5:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_storage_ptr",
|
|
"typeString": "bytes"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "13956:100:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 835,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 834,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 884,
|
|
"src": "14074:4:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 833,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "14074:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "14073:6:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "13925:831:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 896,
|
|
"nodeType": "Block",
|
|
"src": "15586:2:0",
|
|
"statements": []
|
|
},
|
|
"documentation": {
|
|
"id": 885,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "14762:705:0",
|
|
"text": " @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n - When `from` is zero, the tokens will be minted for `to`.\n - When `to` is zero, ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."
|
|
},
|
|
"id": 897,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_beforeTokenTransfer",
|
|
"nameLocation": "15481:20:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 894,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 887,
|
|
"mutability": "mutable",
|
|
"name": "from",
|
|
"nameLocation": "15510:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 897,
|
|
"src": "15502:12:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 886,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "15502:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 889,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "15524:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 897,
|
|
"src": "15516:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 888,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "15516:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 891,
|
|
"mutability": "mutable",
|
|
"name": "firstTokenId",
|
|
"nameLocation": "15536:12:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 897,
|
|
"src": "15528:20:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 890,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "15528:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 893,
|
|
"mutability": "mutable",
|
|
"name": "batchSize",
|
|
"nameLocation": "15558:9:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 897,
|
|
"src": "15550:17:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 892,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "15550:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "15501:67:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 895,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "15586:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "15472:116:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 909,
|
|
"nodeType": "Block",
|
|
"src": "16407:2:0",
|
|
"statements": []
|
|
},
|
|
"documentation": {
|
|
"id": 898,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "15594:695:0",
|
|
"text": " @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n - When `from` is zero, the tokens were minted for `to`.\n - When `to` is zero, ``from``'s tokens were burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."
|
|
},
|
|
"id": 910,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_afterTokenTransfer",
|
|
"nameLocation": "16303:19:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 907,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 900,
|
|
"mutability": "mutable",
|
|
"name": "from",
|
|
"nameLocation": "16331:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 910,
|
|
"src": "16323:12:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 899,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "16323:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 902,
|
|
"mutability": "mutable",
|
|
"name": "to",
|
|
"nameLocation": "16345:2:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 910,
|
|
"src": "16337:10:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 901,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "16337:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 904,
|
|
"mutability": "mutable",
|
|
"name": "firstTokenId",
|
|
"nameLocation": "16357:12:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 910,
|
|
"src": "16349:20:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 903,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "16349:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 906,
|
|
"mutability": "mutable",
|
|
"name": "batchSize",
|
|
"nameLocation": "16379:9:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 910,
|
|
"src": "16371:17:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 905,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "16371:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "16322:67:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 908,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "16407:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "16294:115:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": true,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 924,
|
|
"nodeType": "Block",
|
|
"src": "16958:45:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 922,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 918,
|
|
"name": "_balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 35,
|
|
"src": "16968:9:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 920,
|
|
"indexExpression": {
|
|
"id": 919,
|
|
"name": "account",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 913,
|
|
"src": "16978:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "16968:18:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"id": 921,
|
|
"name": "amount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 915,
|
|
"src": "16990:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "16968:28:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 923,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "16968:28:0"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 911,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "16415:409:0",
|
|
"text": " @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n that `ownerOf(tokenId)` is `a`."
|
|
},
|
|
"id": 925,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "__unsafe_increaseBalance",
|
|
"nameLocation": "16891:24:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 916,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 913,
|
|
"mutability": "mutable",
|
|
"name": "account",
|
|
"nameLocation": "16924:7:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 925,
|
|
"src": "16916:15:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 912,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "16916:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 915,
|
|
"mutability": "mutable",
|
|
"name": "amount",
|
|
"nameLocation": "16941:6:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 925,
|
|
"src": "16933:14:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 914,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "16933:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "16915:33:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 917,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "16958:0:0"
|
|
},
|
|
"scope": 926,
|
|
"src": "16882:121:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"scope": 927,
|
|
"src": "628:16377:0",
|
|
"usedErrors": []
|
|
}
|
|
],
|
|
"src": "107:16899:0"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
|
|
},
|
|
"networks": {},
|
|
"schemaVersion": "3.4.13",
|
|
"updatedAt": "2023-06-04T09:28:33.978Z",
|
|
"devdoc": {
|
|
"details": "Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.",
|
|
"events": {
|
|
"Approval(address,address,uint256)": {
|
|
"details": "Emitted when `owner` enables `approved` to manage the `tokenId` token."
|
|
},
|
|
"ApprovalForAll(address,address,bool)": {
|
|
"details": "Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."
|
|
},
|
|
"Transfer(address,address,uint256)": {
|
|
"details": "Emitted when `tokenId` token is transferred from `from` to `to`."
|
|
}
|
|
},
|
|
"kind": "dev",
|
|
"methods": {
|
|
"approve(address,uint256)": {
|
|
"details": "See {IERC721-approve}."
|
|
},
|
|
"balanceOf(address)": {
|
|
"details": "See {IERC721-balanceOf}."
|
|
},
|
|
"constructor": {
|
|
"details": "Initializes the contract by setting a `name` and a `symbol` to the token collection."
|
|
},
|
|
"getApproved(uint256)": {
|
|
"details": "See {IERC721-getApproved}."
|
|
},
|
|
"isApprovedForAll(address,address)": {
|
|
"details": "See {IERC721-isApprovedForAll}."
|
|
},
|
|
"name()": {
|
|
"details": "See {IERC721Metadata-name}."
|
|
},
|
|
"ownerOf(uint256)": {
|
|
"details": "See {IERC721-ownerOf}."
|
|
},
|
|
"safeTransferFrom(address,address,uint256)": {
|
|
"details": "See {IERC721-safeTransferFrom}."
|
|
},
|
|
"safeTransferFrom(address,address,uint256,bytes)": {
|
|
"details": "See {IERC721-safeTransferFrom}."
|
|
},
|
|
"setApprovalForAll(address,bool)": {
|
|
"details": "See {IERC721-setApprovalForAll}."
|
|
},
|
|
"supportsInterface(bytes4)": {
|
|
"details": "See {IERC165-supportsInterface}."
|
|
},
|
|
"symbol()": {
|
|
"details": "See {IERC721Metadata-symbol}."
|
|
},
|
|
"tokenURI(uint256)": {
|
|
"details": "See {IERC721Metadata-tokenURI}."
|
|
},
|
|
"transferFrom(address,address,uint256)": {
|
|
"details": "See {IERC721-transferFrom}."
|
|
}
|
|
},
|
|
"version": 1
|
|
},
|
|
"userdoc": {
|
|
"kind": "user",
|
|
"methods": {},
|
|
"version": 1
|
|
}
|
|
} |