The TokenDivider::divideNft
function overwrites an already existing nft in the nftToErc20Info
mapping every time and there is no way to fetch these previously divided nfts.
Previously stored nfts in nftToErc20Info are overwritten and locked up in the contract, unable to be queried.
Manual review
USER mints nft and divides it
USER mints nft with the same address and divides it
there is no way to query the 1st nft, only the 2nd one
PoC Code
Add following test:
To prevent this, we should store each nft using a unique ID.
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.