The mint() function in the RAACNFT contract allows users to mint NFTs by paying an ERC-20 token. However, there is no function to withdraw accumulated tokens from the contract, leaving them permanently locked.
When a user mints an NFT, the following occurs:
The user sends ERC-20 tokens to the contract:
token.safeTransferFrom(msg.sender, address(this), _amount);
The contract holds these tokens permanently since there is no function to withdraw them.
Since there is no withdraw() function, tokens sent to the contract cannot be retrieved.
Manual Review
Add a withdraw() Function for the Contract Owner
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.