claimNft function takes address of NFT (ERC721) and transfer token id to user. It assumes that user will have only one NFT token. What if user has erc20 tokens corresponding to different token id in the NFT, which token id will the contract return? There should be token id as input the contract.
Suppose Alice has minted 2 NFTs on same ERC721 contract.
Alice converts 2 NFTs into erc20 one after another using divideNft function of TokenDivider.sol
Alice wants to claim 1st NFT token back. How can she do it using claimNft? The function takes only nftAddress and nothing else as input. How will it differentiate between 2 token ids from same ERC721 contract.
User's NFT token will get locked.
Bad user experience.
Flaw in the functionality.
Foundry, Manual Instpection
Review the logic of claimNft. Consider adding tokenId as input along with nftAddress.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.