@ethsub/sol
Version:
ethsub contracts
1,048 lines (1,047 loc) • 56.3 kB
JSON
{
"contractName": "ERC1155Receiver",
"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"
}
],
"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\":{\"details\":\"_Available since v3.1._\",\"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\":\"See {IERC165-supportsInterface}. Time complexity O(1), guaranteed to always use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/ERC1155Receiver.sol\":\"ERC1155Receiver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x24141d2f6b98d4cb77a8936eae8cbaad2e261d9062bdc08036096f4550092501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b710eb003944777135f027500a5a57b479fe857849f5f467c1ef9687401e3c95\",\"dweb:/ipfs/QmcELzi6KRzAs3DXwxdsoKWRJ13KSeipKQsJgD3unctdZM\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/token/ERC1155/ERC1155Receiver.sol\":{\"keccak256\":\"0x57a0e246fb1c8f9cccf91c508eafe474e40260a31de3a39019ba8312cfdf9b2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://652f100749edfc17c4afeecb9fc0941414e2cb30c57fa713736064b71f2462a8\",\"dweb:/ipfs/QmUw4AbnrnANMBDRs92CHL9rBNBYAYCT8EQxmaNZ3nkcdf\"]},\"@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 \"./IERC1155Receiver.sol\";\nimport \"../../introspection/ERC165.sol\";\n\n/**\n * @dev _Available since v3.1._\n */\nabstract contract ERC1155Receiver is ERC165, IERC1155Receiver {\n constructor() internal {\n _registerInterface(\n ERC1155Receiver(address(0)).onERC1155Received.selector ^\n ERC1155Receiver(address(0)).onERC1155BatchReceived.selector\n );\n }\n}\n",
"sourcePath": "@openzeppelin/contracts/token/ERC1155/ERC1155Receiver.sol",
"ast": {
"absolutePath": "@openzeppelin/contracts/token/ERC1155/ERC1155Receiver.sol",
"exportedSymbols": {
"ERC1155Receiver": [
2464
]
},
"id": 2465,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2432,
"literals": [
"solidity",
">=",
"0.6",
".0",
"<",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "33:31:12"
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol",
"file": "./IERC1155Receiver.sol",
"id": 2433,
"nodeType": "ImportDirective",
"scope": 2465,
"sourceUnit": 2643,
"src": "66:32:12",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@openzeppelin/contracts/introspection/ERC165.sol",
"file": "../../introspection/ERC165.sol",
"id": 2434,
"nodeType": "ImportDirective",
"scope": 2465,
"sourceUnit": 343,
"src": "99:40:12",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": true,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2436,
"name": "ERC165",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 342,
"src": "218:6:12",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC165_$342",
"typeString": "contract ERC165"
}
},
"id": 2437,
"nodeType": "InheritanceSpecifier",
"src": "218:6:12"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2438,
"name": "IERC1155Receiver",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2642,
"src": "226:16:12",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC1155Receiver_$2642",
"typeString": "contract IERC1155Receiver"
}
},
"id": 2439,
"nodeType": "InheritanceSpecifier",
"src": "226:16:12"
}
],
"contractDependencies": [
342,
582,
2642
],
"contractKind": "contract",
"documentation": {
"id": 2435,
"nodeType": "StructuredDocumentation",
"src": "141:39:12",
"text": " @dev _Available since v3.1._"
},
"fullyImplemented": false,
"id": 2464,
"linearizedBaseContracts": [
2464,
2642,
342,
582
],
"name": "ERC1155Receiver",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 2462,
"nodeType": "Block",
"src": "272:187:12",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"id": 2459,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2446,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "338:1:12",
"subdenomination": null,
"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": 2445,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "330:7:12",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 2444,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "330:7:12",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 2447,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "330:10:12",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
"id": 2443,
"name": "ERC1155Receiver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2464,
"src": "314:15:12",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC1155Receiver_$2464_$",
"typeString": "type(contract ERC1155Receiver)"
}
},
"id": 2448,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "314:27:12",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC1155Receiver_$2464",
"typeString": "contract ERC1155Receiver"
}
},
"id": 2449,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "onERC1155Received",
"nodeType": "MemberAccess",
"referencedDeclaration": 2623,
"src": "314:45:12",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
"typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"
}
},
"id": 2450,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "selector",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "314:54:12",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"nodeType": "BinaryOperation",
"operator": "^",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2454,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "407:1:12",
"subdenomination": null,
"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": 2453,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "399:7:12",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 2452,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "399:7:12",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 2455,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "399:10:12",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
"id": 2451,
"name": "ERC1155Receiver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2464,
"src": "383:15:12",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC1155Receiver_$2464_$",
"typeString": "type(contract ERC1155Receiver)"
}
},
"id": 2456,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "383:27:12",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC1155Receiver_$2464",
"typeString": "contract ERC1155Receiver"
}
},
"id": 2457,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "onERC1155BatchReceived",
"nodeType": "MemberAccess",
"referencedDeclaration": 2641,
"src": "383:50:12",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
"typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"
}
},
"id": 2458,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "selector",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "383:59:12",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"src": "314:128:12",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
],
"id": 2442,
"name": "_registerInterface",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 341,
"src": "282:18:12",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
"typeString": "function (bytes4)"
}
},
"id": 2460,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "282:170:12",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2461,
"nodeType": "ExpressionStatement",
"src": "282:170:12"
}
]
},
"documentation": null,
"id": 2463,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2440,
"nodeType": "ParameterList",
"parameters": [],
"src": "260:2:12"
},
"returnParameters": {
"id": 2441,
"nodeType": "ParameterList",
"parameters": [],
"src": "272:0:12"
},
"scope": 2464,
"src": "249:210:12",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
}
],
"scope": 2465,
"src": "181:280:12"
}
],
"src": "33:429:12"
},
"legacyAST": {
"attributes": {
"absolutePath": "@openzeppelin/contracts/token/ERC1155/ERC1155Receiver.sol",
"exportedSymbols": {
"ERC1155Receiver": [
2464
]
},
"license": "MIT"
},
"children": [
{
"attributes": {
"literals": [
"solidity",
">=",
"0.6",
".0",
"<",
"0.8",
".0"
]
},
"id": 2432,
"name": "PragmaDirective",
"src": "33:31:12"
},
{
"attributes": {
"SourceUnit": 2643,
"absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol",
"file": "./IERC1155Receiver.sol",
"scope": 2465,
"symbolAliases": [
null
],
"unitAlias": ""
},
"id": 2433,
"name": "ImportDirective",
"src": "66:32:12"
},
{
"attributes": {
"SourceUnit": 343,
"absolutePath": "@openzeppelin/contracts/introspection/ERC165.sol",
"file": "../../introspection/ERC165.sol",
"scope": 2465,
"symbolAliases": [
null
],
"unitAlias": ""
},
"id": 2434,
"name": "ImportDirective",
"src": "99:40:12"
},
{
"attributes": {
"abstract": true,
"contractDependencies": [
342,
582,
2642
],
"contractKind": "contract",
"fullyImplemented": false,
"linearizedBaseContracts": [
2464,
2642,
342,
582
],
"name": "ERC1155Receiver",
"scope": 2465
},
"children": [
{
"attributes": {
"text": " @dev _Available since v3.1._"
},
"id": 2435,
"name": "StructuredDocumentation",
"src": "141:39:12"
},
{
"attributes": {
"arguments": null
},
"children": [
{
"attributes": {
"contractScope": null,
"name": "ERC165",
"referencedDeclaration": 342,
"type": "contract ERC165"
},
"id": 2436,
"name": "UserDefinedTypeName",
"src": "218:6:12"
}
],
"id": 2437,
"name": "InheritanceSpecifier",
"src": "218:6:12"
},
{
"attributes": {
"arguments": null
},
"children": [
{
"attributes": {
"contractScope": null,
"name": "IERC1155Receiver",
"referencedDeclaration": 2642,
"type": "contract IERC1155Receiver"
},
"id": 2438,
"name": "UserDefinedTypeName",
"src": "226:16:12"
}
],
"id": 2439,
"name": "InheritanceSpecifier",
"src": "226:16:12"
},
{
"attributes": {
"documentation": null,
"implemented": true,
"isConstructor": true,
"kind": "constructor",
"modifiers": [
null
],
"name": "",
"overrides": null,
"scope": 2464,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 2440,
"name": "ParameterList",
"src": "260:2:12"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 2441,
"name": "ParameterList",
"src": "272:0:12"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"tryCall": false,
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 341,
"type": "function (bytes4)",
"value": "_registerInterface"
},
"id": 2442,
"name": "Identifier",
"src": "282:18:12"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"operator": "^",
"type": "bytes4"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"member_name": "selector",
"referencedDeclaration": null,
"type": "bytes4"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "onERC1155Received",
"referencedDeclaration": 2623,
"type": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": true,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"tryCall": false,
"type": "contract ERC1155Receiver",
"type_conversion": true
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 2464,
"type": "type(contract ERC1155Receiver)",
"value": "ERC1155Receiver"
},
"id": 2443,
"name": "Identifier",
"src": "314:15:12"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": true,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"tryCall": false,
"type": "address payable",
"type_conversion": true
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"type": "type(address)"
},
"children": [
{
"attributes": {
"name": "address",
"type": null
},
"id": 2444,
"name": "ElementaryTypeName",
"src": "330:7:12"
}
],
"id": 2445,
"name": "ElementaryTypeNameExpression",
"src": "330:7:12"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "30",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "int_const 0",
"value": "0"
},
"id": 2446,
"name": "Literal",
"src": "338:1:12"
}
],
"id": 2447,
"name": "FunctionCall",
"src": "330:10:12"
}
],
"id": 2448,
"name": "FunctionCall",
"src": "314:27:12"
}
],
"id": 2449,
"name": "MemberAccess",
"src": "314:45:12"
}
],
"id": 2450,
"name": "MemberAccess",
"src": "314:54:12"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"member_name": "selector",
"referencedDeclaration": null,
"type": "bytes4"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "onERC1155BatchReceived",
"referencedDeclaration": 2641,
"type": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": true,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"tryCall": false,
"type": "contract ERC1155Receiver",
"type_conversion": true
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 2464,
"type": "type(contract ERC1155Receiver)",
"value": "ERC1155Receiver"
},
"id": 2451,
"name": "Identifier",
"src": "383:15:12"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": true,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"tryCall": false,
"type": "address payable",
"type_conversion": true
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"type": "type(address)"
},
"children": [
{
"attributes": {
"name": "address",
"type": null
},