LiquidityMining can't accept single ERC1155 tokens
The contract `LiquidityMining` is also defined as an `ERC1155Receiver`\\n```\\ncontract LiquidityMining is ILiquidityMining, ERC1155Receiver, Ownable {\\n```\\n\\nThe finalized EIP-1155 standard states that a contract which acts as an EIP-1155 Receiver must implement all the functions in the `ERC1155TokenReceiver` interface to be able to accept transfers.\\nThese are indeed implemented here:\\n```\\nfunction onERC1155Received(\\n```\\n\\n```\\nfunction onERC1155BatchReceived(\\n```\\n\\nThe standard states that they will be called and they MUST return a specific `byte4` value, otherwise the transfer will fail.\\nHowever one of the methods returns an incorrect value. This seems to an error generated by a copy/paste action.\\n```\\nfunction onERC1155Received(\\n    address operator,\\n    address from,\\n    uint256 id,\\n    uint256 value,\\n    bytes memory data\\n)\\n    external\\n    pure\\n    override\\n    returns(bytes4)\\n{\\n    return bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"));\\n}\\n```\\n\\nThe value returned is equal to\\n`bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"));`\\nBut it should be\\n`bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`.\\nOn top of this, the contract MUST implement the ERC-165 standard to correctly respond to `supportsInterface`.
Change the return value of `onERC1155Received` to be equal to `0xf23a6e61` which represents `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`.\\nAlso, make sure to implement `supportsInterface` to signify support of `ERC1155TokenReceiver` to accept transfers.\\nAdd tests to check the functionality is correct and make sure these kinds of bugs do not exist in the future.\\nMake sure to read the EIP-1155 and EIP-165 standards in detail and implement them correctly.
```\\ncontract LiquidityMining is ILiquidityMining, ERC1155Receiver, Ownable {\\n```\\n