ERC1155 incorrectly routes a safeBatchTransferFrom (batched) to checkOnERC1155Received (not-batched) when .length == 1
💻 Environment
Latest
📝 Details
if (ids.length == 1) {
should be
if (ids.length == 1 && data.length == 0) {
_updateWithAcceptanceCheck() should pass a boolean whether it was invoked via single or batch and route accordingly.
As-is, data payloads must be special cased for .length == 1 and safeBatchTransferFrom should not be called with .length == 1.