Cally Protocol Does Not Support Cryptopunk or Cryptokitties Tokens #207
Labels
bug
Something isn't working
disagree with severity
Sponsor confirms validity, but disagrees with warden’s risk assessment (sponsor explain in comments)
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
sponsor acknowledged
Technically the issue is correct, but we're not going to resolve it for XYZ reasons
Lines of code
https://github.com/code-423n4/2022-05-cally/blob/main/contracts/src/Cally.sol#L198-L200
Vulnerability details
Impact
While the
Cally.sol
contract is compatible with standardERC20
andERC721
tokens, it is not able to handle popular non-standardERC721
tokens such as cryptopunks. The typicaltransferFrom()
call will fail as a result, and these users will likely opt to use another protocol which does support options on their specific NFT.Recommended Mitigation Steps
NFTX protocol has implemented a way to handle the transfer of both standard and non-standard
ERC721
tokens. The relevant implementation can be found here. The solution provided also utilises OpenZeppelin'ssafeTransferFrom()
function on most transfers as this ensures the function reverts on failure.The text was updated successfully, but these errors were encountered: