UNPKG

@ethsub/sol

Version:
1,188 lines 52 kB
{ "contractName": "IERC1155Receiver", "abi": [ { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "onERC1155Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "onERC1155BatchReceived", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. To accept the transfer(s), this must return `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` (i.e. 0xbc197c81, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"ids\":\"An array containing ids of each token being transferred (order and length must match values array)\",\"operator\":\"The address which initiated the batch transfer (i.e. msg.sender)\",\"values\":\"An array containing amounts of each token being transferred (order and length must match ids array)\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` if transfer is allowed\"}},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. To accept the transfer, this must return `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` (i.e. 0xf23a6e61, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"id\":\"The ID of the token being transferred\",\"operator\":\"The address which initiated the transfer (i.e. msg.sender)\",\"value\":\"The amount of tokens being transferred\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` if transfer is allowed\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"_Available since v3.1._\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":\"IERC1155Receiver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0x2690a9b7f4f7489b8d25a4fc6bffc02ec3971fb41ed6c8b59adef2833bdab07c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8148c99452b6793ac9599abdc8bdaf4eeb47f34590beea8aa01089be14e2990c\",\"dweb:/ipfs/QmNdenmZ4EDfH9TuBas3pHeGuZvDNo2rsfgUj6ka8vuH37\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"../../introspection/IERC165.sol\";\n\n/**\n * _Available since v3.1._\n */\ninterface IERC1155Receiver is IERC165 {\n\n /**\n @dev Handles the receipt of a single ERC1155 token type. This function is\n called at the end of a `safeTransferFrom` after the balance has been updated.\n To accept the transfer, this must return\n `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n (i.e. 0xf23a6e61, or its own function selector).\n @param operator The address which initiated the transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param id The ID of the token being transferred\n @param value The amount of tokens being transferred\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed\n */\n function onERC1155Received(\n address operator,\n address from,\n uint256 id,\n uint256 value,\n bytes calldata data\n )\n external\n returns(bytes4);\n\n /**\n @dev Handles the receipt of a multiple ERC1155 token types. This function\n is called at the end of a `safeBatchTransferFrom` after the balances have\n been updated. To accept the transfer(s), this must return\n `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n (i.e. 0xbc197c81, or its own function selector).\n @param operator The address which initiated the batch transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param ids An array containing ids of each token being transferred (order and length must match values array)\n @param values An array containing amounts of each token being transferred (order and length must match ids array)\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed\n */\n function onERC1155BatchReceived(\n address operator,\n address from,\n uint256[] calldata ids,\n uint256[] calldata values,\n bytes calldata data\n )\n external\n returns(bytes4);\n}\n", "sourcePath": "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol", "ast": { "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol", "exportedSymbols": { "IERC1155Receiver": [ 2642 ] }, "id": 2643, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 2603, "literals": [ "solidity", ">=", "0.6", ".0", "<", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "33:31:15" }, { "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", "file": "../../introspection/IERC165.sol", "id": 2604, "nodeType": "ImportDirective", "scope": 2643, "sourceUnit": 583, "src": "66:41:15", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2606, "name": "IERC165", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 582, "src": "174:7:15", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC165_$582", "typeString": "contract IERC165" } }, "id": 2607, "nodeType": "InheritanceSpecifier", "src": "174:7:15" } ], "contractDependencies": [ 582 ], "contractKind": "interface", "documentation": { "id": 2605, "nodeType": "StructuredDocumentation", "src": "109:34:15", "text": " _Available since v3.1._" }, "fullyImplemented": false, "id": 2642, "linearizedBaseContracts": [ 2642, 582 ], "name": "IERC1155Receiver", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": { "id": 2608, "nodeType": "StructuredDocumentation", "src": "189:816:15", "text": "@dev Handles the receipt of a single ERC1155 token type. This function is\ncalled at the end of a `safeTransferFrom` after the balance has been updated.\nTo accept the transfer, this must return\n`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n(i.e. 0xf23a6e61, or its own function selector).\n@param operator The address which initiated the transfer (i.e. msg.sender)\n@param from The address which previously owned the token\n@param id The ID of the token being transferred\n@param value The amount of tokens being transferred\n@param data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed" }, "functionSelector": "f23a6e61", "id": 2623, "implemented": false, "kind": "function", "modifiers": [], "name": "onERC1155Received", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 2619, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2610, "mutability": "mutable", "name": "operator", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2623, "src": "1046:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2609, "name": "address", "nodeType": "ElementaryTypeName", "src": "1046:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2612, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2623, "src": "1072:12:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2611, "name": "address", "nodeType": "ElementaryTypeName", "src": "1072:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2614, "mutability": "mutable", "name": "id", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2623, "src": "1094:10:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2613, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1094:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2616, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2623, "src": "1114:13:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2615, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1114:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2618, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2623, "src": "1137:19:15", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes" }, "typeName": { "id": 2617, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1137:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "1036:126:15" }, "returnParameters": { "id": 2622, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2621, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2623, "src": "1196:6:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 2620, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "1196:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "value": null, "visibility": "internal" } ], "src": "1195:8:15" }, "scope": 2642, "src": "1010:194:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": null, "documentation": { "id": 2624, "nodeType": "StructuredDocumentation", "src": "1210:977:15", "text": "@dev Handles the receipt of a multiple ERC1155 token types. This function\nis called at the end of a `safeBatchTransferFrom` after the balances have\nbeen updated. To accept the transfer(s), this must return\n`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n(i.e. 0xbc197c81, or its own function selector).\n@param operator The address which initiated the batch transfer (i.e. msg.sender)\n@param from The address which previously owned the token\n@param ids An array containing ids of each token being transferred (order and length must match values array)\n@param values An array containing amounts of each token being transferred (order and length must match ids array)\n@param data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed" }, "functionSelector": "bc197c81", "id": 2641, "implemented": false, "kind": "function", "modifiers": [], "name": "onERC1155BatchReceived", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 2637, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2626, "mutability": "mutable", "name": "operator", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2641, "src": "2233:16:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2625, "name": "address", "nodeType": "ElementaryTypeName", "src": "2233:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2628, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2641, "src": "2259:12:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2627, "name": "address", "nodeType": "ElementaryTypeName", "src": "2259:7:15", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2631, "mutability": "mutable", "name": "ids", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2641, "src": "2281:22:15", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 2629, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2281:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2630, "length": null, "nodeType": "ArrayTypeName", "src": "2281:9:15", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2634, "mutability": "mutable", "name": "values", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2641, "src": "2313:25:15", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 2632, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2313:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2633, "length": null, "nodeType": "ArrayTypeName", "src": "2313:9:15", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2636, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2641, "src": "2348:19:15", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes" }, "typeName": { "id": 2635, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2348:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "2223:150:15" }, "returnParameters": { "id": 2640, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2639, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2641, "src": "2407:6:15", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 2638, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "2407:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "value": null, "visibility": "internal" } ], "src": "2406:8:15" }, "scope": 2642, "src": "2192:223:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 2643, "src": "144:2273:15" } ], "src": "33:2385:15" }, "legacyAST": { "attributes": { "absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol", "exportedSymbols": { "IERC1155Receiver": [ 2642 ] }, "license": "MIT" }, "children": [ { "attributes": { "literals": [ "solidity", ">=", "0.6", ".0", "<", "0.8", ".0" ] }, "id": 2603, "name": "PragmaDirective", "src": "33:31:15" }, { "attributes": { "SourceUnit": 583, "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", "file": "../../introspection/IERC165.sol", "scope": 2643, "symbolAliases": [ null ], "unitAlias": "" }, "id": 2604, "name": "ImportDirective", "src": "66:41:15" }, { "attributes": { "abstract": false, "contractDependencies": [ 582 ], "contractKind": "interface", "fullyImplemented": false, "linearizedBaseContracts": [ 2642, 582 ], "name": "IERC1155Receiver", "scope": 2643 }, "children": [ { "attributes": { "text": " _Available since v3.1._" }, "id": 2605, "name": "StructuredDocumentation", "src": "109:34:15" }, { "attributes": { "arguments": null }, "children": [ { "attributes": { "contractScope": null, "name": "IERC165", "referencedDeclaration": 582, "type": "contract IERC165" }, "id": 2606, "name": "UserDefinedTypeName", "src": "174:7:15" } ], "id": 2607, "name": "InheritanceSpecifier", "src": "174:7:15" }, { "attributes": { "body": null, "functionSelector": "f23a6e61", "implemented": false, "isConstructor": false, "kind": "function", "modifiers": [ null ], "name": "onERC1155Received", "overrides": null, "scope": 2642, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, "children": [ { "attributes": { "text": "@dev Handles the receipt of a single ERC1155 token type. This function is\ncalled at the end of a `safeTransferFrom` after the balance has been updated.\nTo accept the transfer, this must return\n`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n(i.e. 0xf23a6e61, or its own function selector).\n@param operator The address which initiated the transfer (i.e. msg.sender)\n@param from The address which previously owned the token\n@param id The ID of the token being transferred\n@param value The amount of tokens being transferred\n@param data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed" }, "id": 2608, "name": "StructuredDocumentation", "src": "189:816:15" }, { "children": [ { "attributes": { "constant": false, "mutability": "mutable", "name": "operator", "overrides": null, "scope": 2623, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "stateMutability": "nonpayable", "type": "address" }, "id": 2609, "name": "ElementaryTypeName", "src": "1046:7:15" } ], "id": 2610, "name": "VariableDeclaration", "src": "1046:16:15" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "from", "overrides": null, "scope": 2623, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "stateMutability": "nonpayable", "type": "address" }, "id": 2611, "name": "ElementaryTypeName", "src": "1072:7:15" } ], "id": 2612, "name": "VariableDeclaration", "src": "1072:12:15" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "id", "overrides": null, "scope": 2623, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 2613, "name": "ElementaryTypeName", "src": "1094:7:15" } ], "id": 2614, "name": "VariableDeclaration", "src": "1094:10:15" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "value", "overrides": null, "scope": 2623, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 2615, "name": "ElementaryTypeName", "src": "1114:7:15" } ], "id": 2616, "name": "VariableDeclaration", "src": "1114:13:15" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "data", "overrides": null, "scope": 2623, "stateVariable": false, "storageLocation": "calldata", "type": "bytes", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bytes", "type": "bytes" }, "id": 2617, "name": "ElementaryTypeName", "src": "1137:5:15" } ], "id": 2618, "name": "VariableDeclaration", "src": "1137:19:15" } ], "id": 2619, "name": "ParameterList", "src": "1036:126:15" }, { "children": [ { "attributes": { "constant": false, "mutability": "mutable", "name": "", "overrides": null, "scope": 2623, "stateVariable": false, "storageLocation": "default", "type": "bytes4", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bytes4", "type": "bytes4" }, "id": 2620, "name": "ElementaryTypeName", "src": "1196:6:15" } ], "id": 2621, "name": "VariableDeclaration", "src": "1196:6:15" } ], "id": 2622, "name": "ParameterList", "src": "1195:8:15" } ], "id": 2623, "name": "FunctionDefinition", "src": "1010:194:15" }, { "attributes": { "body": null, "functionSelector": "bc197c81", "implemented": false, "isConstructor": false, "kind": "function", "modifiers": [ null ], "name": "onERC1155BatchReceived", "overrides": null, "scope": 2642, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, "children": [ { "attributes": { "text": "@dev Handles the receipt of a multiple ERC1155 token types. This function\nis called at the end of a `safeBatchTransferFrom` after the balances have\nbeen updated. To accept the transfer(s), this must return\n`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n(i.e. 0xbc197c81, or its own function selector).\n@param operator The address which initiated the batch transfer (i.e. msg.sender)\n@param from The address which previously owned the token\n@param ids An array containing ids of each token being transferred (order and length must match values array)\n@param values An array containing amounts of each token being transferred (order and length must match ids array)\n@param data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed" }, "id": 2624, "name": "StructuredDocumentation", "src": "1210:977:15" }, { "children": [ { "attributes": { "constant": false, "mutability": "mutable", "name": "operator", "overrides": null, "scope": 2641, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "stateMutability": "nonpayable", "type": "address" }, "id": 2625, "name": "ElementaryTypeName", "src": "2233:7:15" } ], "id": 2626, "name": "VariableDeclaration", "src": "2233:16:15" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "from", "overrides": null, "scope": 2641, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "stateMutability": "nonpayable", "type": "address" }, "id": 2627, "name": "ElementaryTypeName", "src": "2259:7:15" } ], "id": 2628, "name": "VariableDeclaration", "src": "2259:12:15" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "ids", "overrides": null, "scope": 2641, "stateVariable": false, "storageLocation": "calldata", "type": "uint256[]", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "length": null, "type": "uint256[]" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 2629, "name": "ElementaryTypeName", "src": "2281:7:15" } ], "id": 2630, "name": "ArrayTypeName", "src": "2281:9:15" } ], "id": 2631, "name": "VariableDeclaration", "src": "2281:22:15" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "values", "overrides": null, "scope": 2641, "stateVariable": false, "storageLocation": "calldata", "type": "uint256[]", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "length": null, "type": "uint256[]" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 2632, "name": "ElementaryTypeName", "src": "2313:7:15" } ], "id": 2633, "name": "ArrayTypeName", "src": "2313:9:15" } ], "id": 2634, "name": "VariableDeclaration", "src": "2313:25:15" }, { "attributes": { "constant": false, "mutability": "mutable", "name": "data", "overrides": null, "scope": 2641, "stateVariable": false, "storageLocation": "calldata", "type": "bytes", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bytes", "type": "bytes" }, "id": 2635, "name": "ElementaryTypeName", "src": "2348:5:15" } ], "id": 2636, "name": "VariableDeclaration", "src": "2348:19:15" } ], "id": 2637, "name": "ParameterList", "src": "2223:150:15" }, { "children": [ { "attributes": { "constant": false, "mutability": "mutable", "name": "", "overrides": null, "scope": 2641, "stateVariable": false, "storageLocation": "default", "type": "bytes4", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bytes4", "type": "bytes4" }, "id": 2638, "name": "ElementaryTypeName", "src": "2407:6:15" } ], "id": 2639, "name": "VariableDeclaration", "src": "2407:6:15" } ], "id": 2640, "name": "ParameterList", "src": "2406:8:15" } ], "id": 2641, "name": "FunctionDefinition", "src": "2192:223:15" } ], "id": 2642, "name": "ContractDefinition", "src": "144:2273:15" } ], "id": 2643, "name": "SourceUnit", "src": "33:2385:15" }, "compiler": { "name": "solc", "version": "0.6.12+commit.27d51765.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.4.3", "updatedAt": "2021-11-29T02:07:34.193Z", "devdoc": { "kind": "dev", "methods": { "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { "details": "Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. To accept the transfer(s), this must return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` (i.e. 0xbc197c81, or its own function selector).", "params": { "data": "Additional da