@vporton/future-contracts
Version:
Ethereum accounts bid on future financing (essentially, transfer money from the future) - smart contracts
1,195 lines • 57.8 kB
JSON
{
"contractName": "ERC1155Holder",
"abi": [
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"name": "onERC1155Received",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"name": "onERC1155BatchReceived",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"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\":{\"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/ERC1155Holder.sol\":\"ERC1155Holder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0xd6b90e604fb2eb2d641c7110c72440bf2dc999ec6ab8ff60f200e71ca75d1d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b92d8ab83b21ff984b1f0d6d66897d5afb1f2052004cbcb133cea023e0ae468\",\"dweb:/ipfs/QmTarypkQrFp4UMjTh7Zzhz2nZLz5uPS4nJQtHDEuwBVe6\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/token/ERC1155/ERC1155Holder.sol\":{\"keccak256\":\"0x21428ca879b2437107322dfc1e214d25ecd6b966344961025ee412c3acfd5fc0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9747c875899d05823aede28b60ca8d3719b8c28018f397521c4ffb05041e1ac5\",\"dweb:/ipfs/QmQEQ4jJYEGFNfcngfZ3gPkcrcWYWKbo1Bq2F57scJxbmE\"]},\"@openzeppelin/contracts/token/ERC1155/ERC1155Receiver.sol\":{\"keccak256\":\"0xfce008c2ddf19a62e29e056fdddfa10204b19417ae0f711913703e4ee9dec92c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37a7bb9249c0e8aaecd0c6f33fae7f03d15aebb015f5f7f1face393cfd58d75b\",\"dweb:/ipfs/QmevqbHb43sTLnpWzrGW9WvWvktMzuP5EzYHhqZox2A5v3\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0x2690a9b7f4f7489b8d25a4fc6bffc02ec3971fb41ed6c8b59adef2833bdab07c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8148c99452b6793ac9599abdc8bdaf4eeb47f34590beea8aa01089be14e2990c\",\"dweb:/ipfs/QmNdenmZ4EDfH9TuBas3pHeGuZvDNo2rsfgUj6ka8vuH37\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b506100216301ffc9a760e01b610036565b610031630271189760e51b610036565b6100ba565b6001600160e01b03198082161415610095576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b61043b806100c96000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063bc197c8114610099578063f23a6e61146102a2575b600080fd5b6100856004803603602081101561005c57600080fd5b50357fffffffff000000000000000000000000000000000000000000000000000000001661037a565b604080519115158252519081900360200190f35b61026d600480360360a08110156100af57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82358116926020810135909116918101906060810160408201356401000000008111156100f057600080fd5b82018360208201111561010257600080fd5b8035906020019184602083028401116401000000008311171561012457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561017457600080fd5b82018360208201111561018657600080fd5b803590602001918460208302840111640100000000831117156101a857600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156101f857600080fd5b82018360208201111561020a57600080fd5b8035906020019184600183028401116401000000008311171561022c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103b1945050505050565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61026d600480360360a08110156102b857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a08101608082013564010000000081111561030557600080fd5b82018360208201111561031757600080fd5b8035906020019184600183028401116401000000008311171561033957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103db945050505050565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081526020819052604090205460ff1690565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b7ff23a6e61000000000000000000000000000000000000000000000000000000009594505050505056fea2646970667358221220c42bdbf44f9dca827b985b4adda5527a335c6973b54d7e975910d77dd407858b64736f6c63430007060033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063bc197c8114610099578063f23a6e61146102a2575b600080fd5b6100856004803603602081101561005c57600080fd5b50357fffffffff000000000000000000000000000000000000000000000000000000001661037a565b604080519115158252519081900360200190f35b61026d600480360360a08110156100af57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82358116926020810135909116918101906060810160408201356401000000008111156100f057600080fd5b82018360208201111561010257600080fd5b8035906020019184602083028401116401000000008311171561012457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561017457600080fd5b82018360208201111561018657600080fd5b803590602001918460208302840111640100000000831117156101a857600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156101f857600080fd5b82018360208201111561020a57600080fd5b8035906020019184600183028401116401000000008311171561022c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103b1945050505050565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61026d600480360360a08110156102b857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a08101608082013564010000000081111561030557600080fd5b82018360208201111561031757600080fd5b8035906020019184600183028401116401000000008311171561033957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103db945050505050565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081526020819052604090205460ff1690565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b7ff23a6e61000000000000000000000000000000000000000000000000000000009594505050505056fea2646970667358221220c42bdbf44f9dca827b985b4adda5527a335c6973b54d7e975910d77dd407858b64736f6c63430007060033",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [],
"sourceMap": "139:430:21:-:0;;;;;;;;;;;;-1:-1:-1;768:40:18;-1:-1:-1;;;768:18:18;:40::i;:::-;282:152:22;-1:-1:-1;;;282:18:22;:152::i;:::-;139:430:21;;1499:198:18;-1:-1:-1;;;;;;1582:25:18;;;;;1574:66;;;;;-1:-1:-1;;;1574:66:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1650:33:18;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1650:40:18;1686:4;1650:40;;;1499:198::o;139:430:21:-;;;;;;;",
"deployedSourceMap": "139:430:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;965:140:18;;;;;;;;;;;;;;;;-1:-1:-1;965:140:18;;;;:::i;:::-;;;;;;;;;;;;;;;;;;366:201:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;366:201:21;;;;;;;;-1:-1:-1;366:201:21;;-1:-1:-1;;366:201:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;366:201:21;;;;;;;;-1:-1:-1;366:201:21;;-1:-1:-1;;366:201:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;366:201:21;;-1:-1:-1;366:201:21;;-1:-1:-1;;;;;366:201:21:i;:::-;;;;;;;;;;;;;;;;;;;187:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:173:21;;-1:-1:-1;187:173:21;;-1:-1:-1;;;;;187:173:21:i;965:140:18:-;1065:33;;1042:4;1065:33;;;;;;;;;;;;;;965:140::o;366:201:21:-;524:36;366:201;;;;;;;:::o;187:173::-;322:31;187:173;;;;;;;:::o",
"source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"./ERC1155Receiver.sol\";\n\n/**\n * @dev _Available since v3.1._\n */\ncontract ERC1155Holder is ERC1155Receiver {\n function onERC1155Received(address, address, uint256, uint256, bytes memory) public virtual override returns (bytes4) {\n return this.onERC1155Received.selector;\n }\n\n function onERC1155BatchReceived(address, address, uint256[] memory, uint256[] memory, bytes memory) public virtual override returns (bytes4) {\n return this.onERC1155BatchReceived.selector;\n }\n}\n",
"sourcePath": "@openzeppelin/contracts/token/ERC1155/ERC1155Holder.sol",
"ast": {
"absolutePath": "@openzeppelin/contracts/token/ERC1155/ERC1155Holder.sol",
"exportedSymbols": {
"ERC1155Holder": [
4640
],
"ERC1155Receiver": [
4668
],
"ERC165": [
4381
],
"IERC1155Receiver": [
4846
],
"IERC165": [
4393
]
},
"id": 4641,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 4591,
"literals": [
"solidity",
">=",
"0.6",
".0",
"<",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "33:31:21"
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC1155/ERC1155Receiver.sol",
"file": "./ERC1155Receiver.sol",
"id": 4592,
"nodeType": "ImportDirective",
"scope": 4641,
"sourceUnit": 4669,
"src": "66:31:21",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 4594,
"name": "ERC1155Receiver",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 4668,
"src": "165:15:21",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC1155Receiver_$4668",
"typeString": "contract ERC1155Receiver"
}
},
"id": 4595,
"nodeType": "InheritanceSpecifier",
"src": "165:15:21"
}
],
"contractDependencies": [
4381,
4393,
4668,
4846
],
"contractKind": "contract",
"documentation": {
"id": 4593,
"nodeType": "StructuredDocumentation",
"src": "99:39:21",
"text": " @dev _Available since v3.1._"
},
"fullyImplemented": true,
"id": 4640,
"linearizedBaseContracts": [
4640,
4668,
4846,
4381,
4393
],
"name": "ERC1155Holder",
"nodeType": "ContractDefinition",
"nodes": [
{
"baseFunctions": [
4827
],
"body": {
"id": 4615,
"nodeType": "Block",
"src": "305:55:21",
"statements": [
{
"expression": {
"expression": {
"expression": {
"id": 4611,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967268,
"src": "322:4:21",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC1155Holder_$4640",
"typeString": "contract ERC1155Holder"
}
},
"id": 4612,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "onERC1155Received",
"nodeType": "MemberAccess",
"referencedDeclaration": 4616,
"src": "322:22:21",
"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": 4613,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "selector",
"nodeType": "MemberAccess",
"src": "322:31:21",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"functionReturnParameters": 4610,
"id": 4614,
"nodeType": "Return",
"src": "315:38:21"
}
]
},
"functionSelector": "f23a6e61",
"id": 4616,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "onERC1155Received",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 4607,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "279:8:21"
},
"parameters": {
"id": 4606,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4597,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4616,
"src": "214:7:21",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4596,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "214:7:21",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4599,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4616,
"src": "223:7:21",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4598,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "223:7:21",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4601,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4616,
"src": "232:7:21",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4600,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "232:7:21",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4603,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4616,
"src": "241:7:21",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4602,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "241:7:21",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4605,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4616,
"src": "250:12:21",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 4604,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "250:5:21",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "213:50:21"
},
"returnParameters": {
"id": 4610,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4609,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4616,
"src": "297:6:21",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 4608,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "297:6:21",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"visibility": "internal"
}
],
"src": "296:8:21"
},
"scope": 4640,
"src": "187:173:21",
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "public"
},
{
"baseFunctions": [
4845
],
"body": {
"id": 4638,
"nodeType": "Block",
"src": "507:60:21",
"statements": [
{
"expression": {
"expression": {
"expression": {
"id": 4634,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967268,
"src": "524:4:21",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC1155Holder_$4640",
"typeString": "contract ERC1155Holder"
}
},
"id": 4635,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "onERC1155BatchReceived",
"nodeType": "MemberAccess",
"referencedDeclaration": 4639,
"src": "524:27:21",
"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": 4636,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "selector",
"nodeType": "MemberAccess",
"src": "524:36:21",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"functionReturnParameters": 4633,
"id": 4637,
"nodeType": "Return",
"src": "517:43:21"
}
]
},
"functionSelector": "bc197c81",
"id": 4639,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "onERC1155BatchReceived",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 4630,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "481:8:21"
},
"parameters": {
"id": 4629,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4618,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4639,
"src": "398:7:21",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4617,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "398:7:21",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4620,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4639,
"src": "407:7:21",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4619,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "407:7:21",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4623,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4639,
"src": "416:16:21",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 4621,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "416:7:21",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 4622,
"nodeType": "ArrayTypeName",
"src": "416:9:21",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4626,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4639,
"src": "434:16:21",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 4624,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "434:7:21",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 4625,
"nodeType": "ArrayTypeName",
"src": "434:9:21",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4628,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4639,
"src": "452:12:21",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 4627,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "452:5:21",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "397:68:21"
},
"returnParameters": {
"id": 4633,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4632,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"scope": 4639,
"src": "499:6:21",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 4631,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "499:6:21",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"visibility": "internal"
}
],
"src": "498:8:21"
},
"scope": 4640,
"src": "366:201:21",
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "public"
}
],
"scope": 4641,
"src": "139:430:21"
}
],
"src": "33:537:21"
},
"legacyAST": {
"attributes": {
"absolutePath": "@openzeppelin/contracts/token/ERC1155/ERC1155Holder.sol",
"exportedSymbols": {
"ERC1155Holder": [
4640
],
"ERC1155Receiver": [
4668
],
"ERC165": [
4381
],
"IERC1155Receiver": [
4846
],
"IERC165": [
4393
]
},
"license": "MIT"
},
"children": [
{
"attributes": {
"literals": [
"solidity",
">=",
"0.6",
".0",
"<",
"0.8",
".0"
]
},
"id": 4591,
"name": "PragmaDirective",
"src": "33:31:21"
},
{
"attributes": {
"SourceUnit": 4669,
"absolutePath": "@openzeppelin/contracts/token/ERC1155/ERC1155Receiver.sol",
"file": "./ERC1155Receiver.sol",
"scope": 4641,
"symbolAliases": [
null
],
"unitAlias": ""
},
"id": 4592,
"name": "ImportDirective",
"src": "66:31:21"
},
{
"attributes": {
"abstract": false,
"contractDependencies": [
4381,
4393,
4668,
4846
],
"contractKind": "contract",
"fullyImplemented": true,
"linearizedBaseContracts": [
4640,
4668,
4846,
4381,
4393
],
"name": "ERC1155Holder",
"scope": 4641
},
"children": [
{
"attributes": {
"text": " @dev _Available since v3.1._"
},
"id": 4593,
"name": "StructuredDocumentation",
"src": "99:39:21"
},
{
"attributes": {},
"children": [
{
"attributes": {
"name": "ERC1155Receiver",
"referencedDeclaration": 4668,
"type": "contract ERC1155Receiver"
},
"id": 4594,
"name": "UserDefinedTypeName",
"src": "165:15:21"
}
],
"id": 4595,
"name": "InheritanceSpecifier",
"src": "165:15:21"
},
{
"attributes": {
"baseFunctions": [
4827
],
"functionSelector": "f23a6e61",
"implemented": true,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "onERC1155Received",
"scope": 4640,
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "public"
},
"children": [
{
"attributes": {
"overrides": [
null
]
},
"id": 4607,
"name": "OverrideSpecifier",
"src": "279:8:21"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 4616,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 4596,
"name": "ElementaryTypeName",
"src": "214:7:21"
}
],
"id": 4597,
"name": "VariableDeclaration",
"src": "214:7:21"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 4616,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 4598,
"name": "ElementaryTypeName",
"src": "223:7:21"
}
],
"id": 4599,
"name": "VariableDeclaration",
"src": "223:7:21"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 4616,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 4600,
"name": "ElementaryTypeName",
"src": "232:7:21"
}
],
"id": 4601,
"name": "VariableDeclaration",
"src": "232:7:21"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 4616,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 4602,
"name": "ElementaryTypeName",
"src": "241:7:21"
}
],
"id": 4603,
"name": "VariableDeclaration",
"src": "241:7:21"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 4616,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 4604,
"name": "ElementaryTypeName",
"src": "250:5:21"
}
],
"id": 4605,
"name": "VariableDeclaration",
"src": "250:12:21"
}
],
"id": 4606,
"name": "ParameterList",
"src": "213:50:21"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 4616,
"stateVariable": false,
"storageLocation": "default",
"type": "bytes4",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes4",
"type": "bytes4"
},
"id": 4608,
"name": "ElementaryTypeName",
"src": "297:6:21"
}
],
"id": 4609,
"name": "VariableDeclaration",
"src": "297:6:21"
}
],
"id": 4610,
"name": "ParameterList",
"src": "296:8:21"
},
{
"children": [
{
"attributes": {
"functionReturnParameters": 4610
},
"children": [
{
"attributes": {
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"member_name": "selector",
"type": "bytes4"
},
"children": [
{
"attributes": {
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "onERC1155Received",
"referencedDeclaration": 4616,
"type": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"
},
"children": [
{
"attributes": {
"overloadedDeclarations": [
null
],
"referencedDeclaration": 4294967268,
"type": "contract ERC1155Holder",
"value": "this"
},
"id": 4611,
"name": "Identifier",
"src": "322:4:21"
}
],
"id": 4612,
"name": "MemberAccess",
"src": "322:22:21"
}
],
"id": 4613,
"name": "MemberAccess",
"src": "322:31:21"
}
],
"id": 4614,
"name": "Return",
"src": "315:38:21"
}
],
"id": 4615,
"name": "Block",
"src": "305:55:21"
}
],
"id": 4616,
"name": "FunctionDefinition",
"src": "187:173:21"
},
{
"attributes": {
"baseFunctions": [
4845
],
"functionSelector": "bc197c81",
"implemented": true,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "onERC1155BatchReceived",
"scope": 4640,
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "public"
},
"children": [
{
"attributes": {
"overrides": [
null
]
},
"id": 4630,
"name": "OverrideSpecifier",
"src": "481:8:21"
},
{
"children": [
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 4639,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 4617,
"name": "ElementaryTypeName",
"src": "398:7:21"
}
],
"id": 4618,
"name": "VariableDeclaration",
"src": "398:7:21"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 4639,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 4619,
"name": "ElementaryTypeName",
"src": "407:7:21"
}
],
"id": 4620,
"name": "VariableDeclaration",
"src": "407:7:21"
},
{
"attributes": {
"constant": false,
"mutability": "mutable",
"name": "",
"scope": 4639,
"stateVariable": false,
"storageLocation": "memory",
"type": "uint256[]",
"visibility": "internal"
},
"children": [
{
"attrib