UNPKG

@vporton/future-contracts

Version:

Ethereum accounts bid on future financing (essentially, transfer money from the future) - smart contracts

1,195 lines 57.8 kB
{ "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