becrypto/build/contracts/ERC721Holder.json

2932 lines
115 KiB
JSON

{
"contractName": "ERC721Holder",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"name": "onERC721Received",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC721Receiver} interface. Accepts all token transfers. Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}. Always returns `IERC721Receiver.onERC721Received.selector`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol\":\"ERC721Holder\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50610371806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61004a60048036038101906100459190610262565b610060565b6040516100579190610320565b60405180910390f35b600063150b7a0260e01b9050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100b382610088565b9050919050565b6100c3816100a8565b81146100ce57600080fd5b50565b6000813590506100e0816100ba565b92915050565b6000819050919050565b6100f9816100e6565b811461010457600080fd5b50565b600081359050610116816100f0565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61016f82610126565b810181811067ffffffffffffffff8211171561018e5761018d610137565b5b80604052505050565b60006101a1610074565b90506101ad8282610166565b919050565b600067ffffffffffffffff8211156101cd576101cc610137565b5b6101d682610126565b9050602081019050919050565b82818337600083830152505050565b6000610205610200846101b2565b610197565b90508281526020810184848401111561022157610220610121565b5b61022c8482856101e3565b509392505050565b600082601f8301126102495761024861011c565b5b81356102598482602086016101f2565b91505092915050565b6000806000806080858703121561027c5761027b61007e565b5b600061028a878288016100d1565b945050602061029b878288016100d1565b93505060406102ac87828801610107565b925050606085013567ffffffffffffffff8111156102cd576102cc610083565b5b6102d987828801610234565b91505092959194509250565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61031a816102e5565b82525050565b60006020820190506103356000830184610311565b9291505056fea264697066735822122034fab18a93299f9aefe11f427fb7b93634b0a797ce5be45c6af1ed83fbbfc03f64736f6c634300080a0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61004a60048036038101906100459190610262565b610060565b6040516100579190610320565b60405180910390f35b600063150b7a0260e01b9050949350505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100b382610088565b9050919050565b6100c3816100a8565b81146100ce57600080fd5b50565b6000813590506100e0816100ba565b92915050565b6000819050919050565b6100f9816100e6565b811461010457600080fd5b50565b600081359050610116816100f0565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61016f82610126565b810181811067ffffffffffffffff8211171561018e5761018d610137565b5b80604052505050565b60006101a1610074565b90506101ad8282610166565b919050565b600067ffffffffffffffff8211156101cd576101cc610137565b5b6101d682610126565b9050602081019050919050565b82818337600083830152505050565b6000610205610200846101b2565b610197565b90508281526020810184848401111561022157610220610121565b5b61022c8482856101e3565b509392505050565b600082601f8301126102495761024861011c565b5b81356102598482602086016101f2565b91505092915050565b6000806000806080858703121561027c5761027b61007e565b5b600061028a878288016100d1565b945050602061029b878288016100d1565b93505060406102ac87828801610107565b925050606085013567ffffffffffffffff8111156102cd576102cc610083565b5b6102d987828801610234565b91505092959194509250565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61031a816102e5565b82525050565b60006020820190506103356000830184610311565b9291505056fea264697066735822122034fab18a93299f9aefe11f427fb7b93634b0a797ce5be45c6af1ed83fbbfc03f64736f6c634300080a0033",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4851:79",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:79",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:79",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:79"
},
"nodeType": "YulFunctionCall",
"src": "67:9:79"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:79"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:79",
"type": ""
}
],
"src": "7:75:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:79",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:79",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:79",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:79"
},
"nodeType": "YulFunctionCall",
"src": "187:12:79"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:79"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:79",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:79",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:79",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:79"
},
"nodeType": "YulFunctionCall",
"src": "310:12:79"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:79"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:79",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:79",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:79"
},
"nodeType": "YulFunctionCall",
"src": "400:54:79"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:79"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:79",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:79",
"type": ""
}
],
"src": "334:126:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:79",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:79"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:79"
},
"nodeType": "YulFunctionCall",
"src": "532:24:79"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:79"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:79",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:79",
"type": ""
}
],
"src": "466:96:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:79",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:79",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:79",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:79",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:79"
},
"nodeType": "YulFunctionCall",
"src": "670:12:79"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:79"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:79"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:79"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:79"
},
"nodeType": "YulFunctionCall",
"src": "641:24:79"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:79"
},
"nodeType": "YulFunctionCall",
"src": "631:35:79"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:79"
},
"nodeType": "YulFunctionCall",
"src": "624:43:79"
},
"nodeType": "YulIf",
"src": "621:63:79"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:79",
"type": ""
}
],
"src": "568:122:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:79",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:79"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:79"
},
"nodeType": "YulFunctionCall",
"src": "767:20:79"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:79"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:79"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:79"
},
"nodeType": "YulFunctionCall",
"src": "796:33:79"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:79"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:79",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:79",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:79",
"type": ""
}
],
"src": "696:139:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "886:32:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "896:16:79",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "907:5:79"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "896:7:79"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "868:5:79",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "878:7:79",
"type": ""
}
],
"src": "841:77:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "967:79:79",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1024:16:79",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1033:1:79",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:1:79",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1026:6:79"
},
"nodeType": "YulFunctionCall",
"src": "1026:12:79"
},
"nodeType": "YulExpressionStatement",
"src": "1026:12:79"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "990:5:79"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1015:5:79"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:17:79"
},
"nodeType": "YulFunctionCall",
"src": "997:24:79"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "987:2:79"
},
"nodeType": "YulFunctionCall",
"src": "987:35:79"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "980:6:79"
},
"nodeType": "YulFunctionCall",
"src": "980:43:79"
},
"nodeType": "YulIf",
"src": "977:63:79"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "960:5:79",
"type": ""
}
],
"src": "924:122:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1104:87:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1114:29:79",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:79"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1123:12:79"
},
"nodeType": "YulFunctionCall",
"src": "1123:20:79"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1114:5:79"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1179:5:79"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1152:26:79"
},
"nodeType": "YulFunctionCall",
"src": "1152:33:79"
},
"nodeType": "YulExpressionStatement",
"src": "1152:33:79"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1082:6:79",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1090:3:79",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1098:5:79",
"type": ""
}
],
"src": "1052:139:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1286:28:79",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1303:1:79",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1306:1:79",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1296:6:79"
},
"nodeType": "YulFunctionCall",
"src": "1296:12:79"
},
"nodeType": "YulExpressionStatement",
"src": "1296:12:79"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "1197:117:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1409:28:79",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1426:1:79",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1429:1:79",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1419:6:79"
},
"nodeType": "YulFunctionCall",
"src": "1419:12:79"
},
"nodeType": "YulExpressionStatement",
"src": "1419:12:79"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "1320:117:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1491:54:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1501:38:79",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1519:5:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1526:2:79",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1515:3:79"
},
"nodeType": "YulFunctionCall",
"src": "1515:14:79"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1535:2:79",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1531:3:79"
},
"nodeType": "YulFunctionCall",
"src": "1531:7:79"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1511:3:79"
},
"nodeType": "YulFunctionCall",
"src": "1511:28:79"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1501:6:79"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1474:5:79",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1484:6:79",
"type": ""
}
],
"src": "1443:102:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1579:152:79",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1596:1:79",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1599:77:79",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1589:6:79"
},
"nodeType": "YulFunctionCall",
"src": "1589:88:79"
},
"nodeType": "YulExpressionStatement",
"src": "1589:88:79"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1693:1:79",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1696:4:79",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1686:6:79"
},
"nodeType": "YulFunctionCall",
"src": "1686:15:79"
},
"nodeType": "YulExpressionStatement",
"src": "1686:15:79"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1717:1:79",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1720:4:79",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1710:6:79"
},
"nodeType": "YulFunctionCall",
"src": "1710:15:79"
},
"nodeType": "YulExpressionStatement",
"src": "1710:15:79"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "1551:180:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1780:238:79",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1790:58:79",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1812:6:79"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1842:4:79"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1820:21:79"
},
"nodeType": "YulFunctionCall",
"src": "1820:27:79"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1808:3:79"
},
"nodeType": "YulFunctionCall",
"src": "1808:40:79"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "1794:10:79",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1959:22:79",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "1961:16:79"
},
"nodeType": "YulFunctionCall",
"src": "1961:18:79"
},
"nodeType": "YulExpressionStatement",
"src": "1961:18:79"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1902:10:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1914:18:79",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1899:2:79"
},
"nodeType": "YulFunctionCall",
"src": "1899:34:79"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1938:10:79"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1950:6:79"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1935:2:79"
},
"nodeType": "YulFunctionCall",
"src": "1935:22:79"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1896:2:79"
},
"nodeType": "YulFunctionCall",
"src": "1896:62:79"
},
"nodeType": "YulIf",
"src": "1893:88:79"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1997:2:79",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "2001:10:79"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1990:6:79"
},
"nodeType": "YulFunctionCall",
"src": "1990:22:79"
},
"nodeType": "YulExpressionStatement",
"src": "1990:22:79"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1766:6:79",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1774:4:79",
"type": ""
}
],
"src": "1737:281:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2065:88:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2075:30:79",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "2085:18:79"
},
"nodeType": "YulFunctionCall",
"src": "2085:20:79"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2075:6:79"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2134:6:79"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2142:4:79"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "2114:19:79"
},
"nodeType": "YulFunctionCall",
"src": "2114:33:79"
},
"nodeType": "YulExpressionStatement",
"src": "2114:33:79"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2049:4:79",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2058:6:79",
"type": ""
}
],
"src": "2024:129:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2225:241:79",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2330:22:79",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "2332:16:79"
},
"nodeType": "YulFunctionCall",
"src": "2332:18:79"
},
"nodeType": "YulExpressionStatement",
"src": "2332:18:79"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2302:6:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2310:18:79",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2299:2:79"
},
"nodeType": "YulFunctionCall",
"src": "2299:30:79"
},
"nodeType": "YulIf",
"src": "2296:56:79"
},
{
"nodeType": "YulAssignment",
"src": "2362:37:79",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2392:6:79"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2370:21:79"
},
"nodeType": "YulFunctionCall",
"src": "2370:29:79"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2362:4:79"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2436:23:79",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2448:4:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2454:4:79",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2444:3:79"
},
"nodeType": "YulFunctionCall",
"src": "2444:15:79"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2436:4:79"
}
]
}
]
},
"name": "array_allocation_size_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2209:6:79",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2220:4:79",
"type": ""
}
],
"src": "2159:307:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2523:103:79",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2546:3:79"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2551:3:79"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2556:6:79"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "2533:12:79"
},
"nodeType": "YulFunctionCall",
"src": "2533:30:79"
},
"nodeType": "YulExpressionStatement",
"src": "2533:30:79"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2604:3:79"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2609:6:79"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2600:3:79"
},
"nodeType": "YulFunctionCall",
"src": "2600:16:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2618:1:79",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2593:6:79"
},
"nodeType": "YulFunctionCall",
"src": "2593:27:79"
},
"nodeType": "YulExpressionStatement",
"src": "2593:27:79"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2505:3:79",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2510:3:79",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2515:6:79",
"type": ""
}
],
"src": "2472:154:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2715:327:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2725:74:79",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2791:6:79"
}
],
"functionName": {
"name": "array_allocation_size_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2750:40:79"
},
"nodeType": "YulFunctionCall",
"src": "2750:48:79"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "2734:15:79"
},
"nodeType": "YulFunctionCall",
"src": "2734:65:79"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2725:5:79"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2815:5:79"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2822:6:79"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2808:6:79"
},
"nodeType": "YulFunctionCall",
"src": "2808:21:79"
},
"nodeType": "YulExpressionStatement",
"src": "2808:21:79"
},
{
"nodeType": "YulVariableDeclaration",
"src": "2838:27:79",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2853:5:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2860:4:79",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2849:3:79"
},
"nodeType": "YulFunctionCall",
"src": "2849:16:79"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2842:3:79",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2903:83:79",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "2905:77:79"
},
"nodeType": "YulFunctionCall",
"src": "2905:79:79"
},
"nodeType": "YulExpressionStatement",
"src": "2905:79:79"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2884:3:79"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2889:6:79"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2880:3:79"
},
"nodeType": "YulFunctionCall",
"src": "2880:16:79"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2898:3:79"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2877:2:79"
},
"nodeType": "YulFunctionCall",
"src": "2877:25:79"
},
"nodeType": "YulIf",
"src": "2874:112:79"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3019:3:79"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3024:3:79"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3029:6:79"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "2995:23:79"
},
"nodeType": "YulFunctionCall",
"src": "2995:41:79"
},
"nodeType": "YulExpressionStatement",
"src": "2995:41:79"
}
]
},
"name": "abi_decode_available_length_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2688:3:79",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2693:6:79",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2701:3:79",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2709:5:79",
"type": ""
}
],
"src": "2632:410:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3122:277:79",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3171:83:79",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "3173:77:79"
},
"nodeType": "YulFunctionCall",
"src": "3173:79:79"
},
"nodeType": "YulExpressionStatement",
"src": "3173:79:79"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3150:6:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3158:4:79",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3146:3:79"
},
"nodeType": "YulFunctionCall",
"src": "3146:17:79"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3165:3:79"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3142:3:79"
},
"nodeType": "YulFunctionCall",
"src": "3142:27:79"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3135:6:79"
},
"nodeType": "YulFunctionCall",
"src": "3135:35:79"
},
"nodeType": "YulIf",
"src": "3132:122:79"
},
{
"nodeType": "YulVariableDeclaration",
"src": "3263:34:79",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3290:6:79"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3277:12:79"
},
"nodeType": "YulFunctionCall",
"src": "3277:20:79"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3267:6:79",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3306:87:79",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3366:6:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3374:4:79",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3362:3:79"
},
"nodeType": "YulFunctionCall",
"src": "3362:17:79"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3381:6:79"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3389:3:79"
}
],
"functionName": {
"name": "abi_decode_available_length_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3315:46:79"
},
"nodeType": "YulFunctionCall",
"src": "3315:78:79"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "3306:5:79"
}
]
}
]
},
"name": "abi_decode_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3100:6:79",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3108:3:79",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "3116:5:79",
"type": ""
}
],
"src": "3061:338:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3531:817:79",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3578:83:79",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3580:77:79"
},
"nodeType": "YulFunctionCall",
"src": "3580:79:79"
},
"nodeType": "YulExpressionStatement",
"src": "3580:79:79"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3552:7:79"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3561:9:79"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3548:3:79"
},
"nodeType": "YulFunctionCall",
"src": "3548:23:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3573:3:79",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3544:3:79"
},
"nodeType": "YulFunctionCall",
"src": "3544:33:79"
},
"nodeType": "YulIf",
"src": "3541:120:79"
},
{
"nodeType": "YulBlock",
"src": "3671:117:79",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3686:15:79",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3700:1:79",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3690:6:79",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3715:63:79",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3750:9:79"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3761:6:79"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3746:3:79"
},
"nodeType": "YulFunctionCall",
"src": "3746:22:79"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3770:7:79"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "3725:20:79"
},
"nodeType": "YulFunctionCall",
"src": "3725:53:79"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3715:6:79"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3798:118:79",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3813:16:79",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3827:2:79",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3817:6:79",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3843:63:79",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3878:9:79"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3889:6:79"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3874:3:79"
},
"nodeType": "YulFunctionCall",
"src": "3874:22:79"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3898:7:79"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "3853:20:79"
},
"nodeType": "YulFunctionCall",
"src": "3853:53:79"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3843:6:79"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3926:118:79",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3941:16:79",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3955:2:79",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3945:6:79",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3971:63:79",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4006:9:79"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4017:6:79"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4002:3:79"
},
"nodeType": "YulFunctionCall",
"src": "4002:22:79"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4026:7:79"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3981:20:79"
},
"nodeType": "YulFunctionCall",
"src": "3981:53:79"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "3971:6:79"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4054:287:79",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4069:46:79",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4100:9:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4111:2:79",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4096:3:79"
},
"nodeType": "YulFunctionCall",
"src": "4096:18:79"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "4083:12:79"
},
"nodeType": "YulFunctionCall",
"src": "4083:32:79"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4073:6:79",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4162:83:79",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "4164:77:79"
},
"nodeType": "YulFunctionCall",
"src": "4164:79:79"
},
"nodeType": "YulExpressionStatement",
"src": "4164:79:79"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4134:6:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4142:18:79",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4131:2:79"
},
"nodeType": "YulFunctionCall",
"src": "4131:30:79"
},
"nodeType": "YulIf",
"src": "4128:117:79"
},
{
"nodeType": "YulAssignment",
"src": "4259:72:79",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4303:9:79"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4314:6:79"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4299:3:79"
},
"nodeType": "YulFunctionCall",
"src": "4299:22:79"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4323:7:79"
}
],
"functionName": {
"name": "abi_decode_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4269:29:79"
},
"nodeType": "YulFunctionCall",
"src": "4269:62:79"
},
"variableNames": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "4259:6:79"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3477:9:79",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3488:7:79",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3500:6:79",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3508:6:79",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "3516:6:79",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "3524:6:79",
"type": ""
}
],
"src": "3405:943:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4398:105:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4408:89:79",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4423:5:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4430:66:79",
"type": "",
"value": "0xffffffff00000000000000000000000000000000000000000000000000000000"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4419:3:79"
},
"nodeType": "YulFunctionCall",
"src": "4419:78:79"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4408:7:79"
}
]
}
]
},
"name": "cleanup_t_bytes4",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4380:5:79",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4390:7:79",
"type": ""
}
],
"src": "4354:149:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4572:52:79",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4589:3:79"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4611:5:79"
}
],
"functionName": {
"name": "cleanup_t_bytes4",
"nodeType": "YulIdentifier",
"src": "4594:16:79"
},
"nodeType": "YulFunctionCall",
"src": "4594:23:79"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4582:6:79"
},
"nodeType": "YulFunctionCall",
"src": "4582:36:79"
},
"nodeType": "YulExpressionStatement",
"src": "4582:36:79"
}
]
},
"name": "abi_encode_t_bytes4_to_t_bytes4_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4560:5:79",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4567:3:79",
"type": ""
}
],
"src": "4509:115:79"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4726:122:79",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4736:26:79",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4748:9:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4759:2:79",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4744:3:79"
},
"nodeType": "YulFunctionCall",
"src": "4744:18:79"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4736:4:79"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4814:6:79"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4827:9:79"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4838:1:79",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4823:3:79"
},
"nodeType": "YulFunctionCall",
"src": "4823:17:79"
}
],
"functionName": {
"name": "abi_encode_t_bytes4_to_t_bytes4_fromStack",
"nodeType": "YulIdentifier",
"src": "4772:41:79"
},
"nodeType": "YulFunctionCall",
"src": "4772:69:79"
},
"nodeType": "YulExpressionStatement",
"src": "4772:69:79"
}
]
},
"name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4698:9:79",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4710:6:79",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4721:4:79",
"type": ""
}
],
"src": "4630:218:79"
}
]
},
"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_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 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 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 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_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(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\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(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 cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 79,
"language": "Yul",
"name": "#utility.yul"
}
],
"sourceMap": "414:353:27:-:0;;;;;;;;;;;;;;;;;;;",
"deployedSourceMap": "414:353:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;603:162;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;703:6;728:30;;;721:37;;603:162;;;;;;:::o;7:75:79:-;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:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:117::-;1306:1;1303;1296:12;1320:117;1429:1;1426;1419:12;1443:102;1484:6;1535:2;1531:7;1526:2;1519:5;1515:14;1511:28;1501:38;;1443:102;;;:::o;1551:180::-;1599:77;1596:1;1589:88;1696:4;1693:1;1686:15;1720:4;1717:1;1710:15;1737:281;1820:27;1842:4;1820:27;:::i;:::-;1812:6;1808:40;1950:6;1938:10;1935:22;1914:18;1902:10;1899:34;1896:62;1893:88;;;1961:18;;:::i;:::-;1893:88;2001:10;1997:2;1990:22;1780:238;1737:281;;:::o;2024:129::-;2058:6;2085:20;;:::i;:::-;2075:30;;2114:33;2142:4;2134:6;2114:33;:::i;:::-;2024:129;;;:::o;2159:307::-;2220:4;2310:18;2302:6;2299:30;2296:56;;;2332:18;;:::i;:::-;2296:56;2370:29;2392:6;2370:29;:::i;:::-;2362:37;;2454:4;2448;2444:15;2436:23;;2159:307;;;:::o;2472:154::-;2556:6;2551:3;2546;2533:30;2618:1;2609:6;2604:3;2600:16;2593:27;2472:154;;;:::o;2632:410::-;2709:5;2734:65;2750:48;2791:6;2750:48;:::i;:::-;2734:65;:::i;:::-;2725:74;;2822:6;2815:5;2808:21;2860:4;2853:5;2849:16;2898:3;2889:6;2884:3;2880:16;2877:25;2874:112;;;2905:79;;:::i;:::-;2874:112;2995:41;3029:6;3024:3;3019;2995:41;:::i;:::-;2715:327;2632:410;;;;;:::o;3061:338::-;3116:5;3165:3;3158:4;3150:6;3146:17;3142:27;3132:122;;3173:79;;:::i;:::-;3132:122;3290:6;3277:20;3315:78;3389:3;3381:6;3374:4;3366:6;3362:17;3315:78;:::i;:::-;3306:87;;3122:277;3061:338;;;;:::o;3405:943::-;3500:6;3508;3516;3524;3573:3;3561:9;3552:7;3548:23;3544:33;3541:120;;;3580:79;;:::i;:::-;3541:120;3700:1;3725:53;3770:7;3761:6;3750:9;3746:22;3725:53;:::i;:::-;3715:63;;3671:117;3827:2;3853:53;3898:7;3889:6;3878:9;3874:22;3853:53;:::i;:::-;3843:63;;3798:118;3955:2;3981:53;4026:7;4017:6;4006:9;4002:22;3981:53;:::i;:::-;3971:63;;3926:118;4111:2;4100:9;4096:18;4083:32;4142:18;4134:6;4131:30;4128:117;;;4164:79;;:::i;:::-;4128:117;4269:62;4323:7;4314:6;4303:9;4299:22;4269:62;:::i;:::-;4259:72;;4054:287;3405:943;;;;;;;:::o;4354:149::-;4390:7;4430:66;4423:5;4419:78;4408:89;;4354:149;;;:::o;4509:115::-;4594:23;4611:5;4594:23;:::i;:::-;4589:3;4582:36;4509:115;;:::o;4630:218::-;4721:4;4759:2;4748:9;4744:18;4736:26;;4772:69;4838:1;4827:9;4823:17;4814:6;4772:69;:::i;:::-;4630:218;;;;:::o",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/utils/ERC721Holder.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721Receiver.sol\";\n\n/**\n * @dev Implementation of the {IERC721Receiver} interface.\n *\n * Accepts all token transfers.\n * Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.\n */\ncontract ERC721Holder is IERC721Receiver {\n /**\n * @dev See {IERC721Receiver-onERC721Received}.\n *\n * Always returns `IERC721Receiver.onERC721Received.selector`.\n */\n function onERC721Received(address, address, uint256, bytes memory) public virtual override returns (bytes4) {\n return this.onERC721Received.selector;\n }\n}\n",
"sourcePath": "@openzeppelin\\contracts\\token\\ERC721\\utils\\ERC721Holder.sol",
"ast": {
"absolutePath": "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol",
"exportedSymbols": {
"ERC721Holder": [
6071
],
"IERC721Receiver": [
5632
]
},
"id": 6072,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6046,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "119:23:27"
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
"file": "../IERC721Receiver.sol",
"id": 6047,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 6072,
"sourceUnit": 5633,
"src": "144:32:27",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 6049,
"name": "IERC721Receiver",
"nodeType": "IdentifierPath",
"referencedDeclaration": 5632,
"src": "439:15:27"
},
"id": 6050,
"nodeType": "InheritanceSpecifier",
"src": "439:15:27"
}
],
"canonicalName": "ERC721Holder",
"contractDependencies": [],
"contractKind": "contract",
"documentation": {
"id": 6048,
"nodeType": "StructuredDocumentation",
"src": "178:235:27",
"text": " @dev Implementation of the {IERC721Receiver} interface.\n Accepts all token transfers.\n Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}."
},
"fullyImplemented": true,
"id": 6071,
"linearizedBaseContracts": [
6071,
5632
],
"name": "ERC721Holder",
"nameLocation": "423:12:27",
"nodeType": "ContractDefinition",
"nodes": [
{
"baseFunctions": [
5631
],
"body": {
"id": 6069,
"nodeType": "Block",
"src": "711:54:27",
"statements": [
{
"expression": {
"expression": {
"expression": {
"id": 6065,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967268,
"src": "728:4:27",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC721Holder_$6071",
"typeString": "contract ERC721Holder"
}
},
"id": 6066,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "onERC721Received",
"nodeType": "MemberAccess",
"referencedDeclaration": 6070,
"src": "728:21:27",
"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": 6067,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "selector",
"nodeType": "MemberAccess",
"src": "728:30:27",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"functionReturnParameters": 6064,
"id": 6068,
"nodeType": "Return",
"src": "721:37:27"
}
]
},
"documentation": {
"id": 6051,
"nodeType": "StructuredDocumentation",
"src": "461:137:27",
"text": " @dev See {IERC721Receiver-onERC721Received}.\n Always returns `IERC721Receiver.onERC721Received.selector`."
},
"functionSelector": "150b7a02",
"id": 6070,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "onERC721Received",
"nameLocation": "612:16:27",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 6061,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "685:8:27"
},
"parameters": {
"id": 6060,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6053,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6070,
"src": "629:7:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6052,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "629:7:27",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6055,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6070,
"src": "638:7:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6054,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "638:7:27",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6057,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6070,
"src": "647:7:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6056,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "647:7:27",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6059,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6070,
"src": "656:12:27",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 6058,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "656:5:27",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "628:41:27"
},
"returnParameters": {
"id": 6064,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6063,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6070,
"src": "703:6:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 6062,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "703:6:27",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"visibility": "internal"
}
],
"src": "702:8:27"
},
"scope": 6071,
"src": "603:162:27",
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "public"
}
],
"scope": 6072,
"src": "414:353:27",
"usedErrors": []
}
],
"src": "119:649:27"
},
"compiler": {
"name": "solc",
"version": "0.8.10+commit.fc410830.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.14",
"updatedAt": "2024-04-15T08:05:15.339Z",
"devdoc": {
"details": "Implementation of the {IERC721Receiver} interface. Accepts all token transfers. Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.",
"kind": "dev",
"methods": {
"onERC721Received(address,address,uint256,bytes)": {
"details": "See {IERC721Receiver-onERC721Received}. Always returns `IERC721Receiver.onERC721Received.selector`."
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}