EIP1594 - Different return values for canTransfer and canTransferFrom
The EIP spec defines the 2 functions, each one returning 2 values: https://github.com/SecurityTokenStandard/EIP-Spec/blob/master/eip/eip-1594.md#cantransfer--cantransferfrom
function canTransfer(address _to, uint256 _value, bytes _data) external view returns (byte, bytes32);
function canTransferFrom(address _from, address _to, uint256 _value, bytes _data) external view returns (byte, bytes32);
But the implementation returns 3 values: https://github.com/SecurityTokenStandard/EIP-Spec/blob/cef4971c3b543cd46805d526c646e521b790d7bb/contracts/ERC1594/IERC1594.sol#L20-L22 https://github.com/SecurityTokenStandard/EIP-Spec/blob/cef4971c3b543cd46805d526c646e521b790d7bb/contracts/ERC1594/ERC1594.sol#L124 https://github.com/SecurityTokenStandard/EIP-Spec/blob/cef4971c3b543cd46805d526c646e521b790d7bb/contracts/ERC1594/ERC1594.sol#L149
If the implementation is correct, the EIP spec should be updated to reflect the truth. https://github.com/ethereum/EIPs/issues/1594