Changed the interface names to match the standard they are for.
Added isApprovedOrOwnerOf function to ERC998ERC721 interface.
Renamed the ERC20 related functions to make them specific to the standard they are related to.
I moved the composable functionality into Composable.sol. This was done because both ERC20 tokens and ERC721 tokens need to share functionality, specifically the isApprovedOrOwnerOf function. It is still possible for implementors to only implement individual interfaces.
The ERC721 standard changed to include an additional operator argument to onERC721Received so this was changed in this pull.
Here are the changes in this pull:
isApprovedOrOwnerOf
function. It is still possible for implementors to only implement individual interfaces.onERC721Received
so this was changed in this pull.