The RAACNFT contract accepts ERC20 tokens as payment for minting NFTs but has no mechanism to withdraw these tokens, resulting in them being permanently locked in the contract.
The RAACNFT contract collects ERC20 tokens during the minting process but lacks any withdrawal functionality. This occurs in the mint()
function:
The contract:
Accepts tokens via safeTransferFrom
Keeps the price
amount in the contract
Has no function to withdraw these accumulated tokens
Is not upgradeable
Has no emergency withdrawal mechanism
This means that all tokens collected as payment for NFTs are permanently locked in the contract with no way to retrieve them.
HIGH SEVERITY
All tokens collected as payment for NFTs are permanently locked
The contract would need to be redeployed to fix this issue, requiring migration of all NFTs
Manual review
Add a withdrawal function that allows the owner to recover accumulated tokens:
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.