Users mint RAAC NFTs and pay with crvUSD for the minting process. However, there is no functionality to revert the process (i.e. burn the NFT and withdraw the payment). In addition, there is no functionality to withdraw the money by protocol operators, therefore all payments are stuck forever in the RAACNFT contract.
The RAACNFT contract handles functionality related to RAAC NFTs.
The mint function starts at L32:
The token used for payment is crvUSD - it is transferred from the minter to the RAACNFT contract by using safeTransferFrom. However, the contract completely lacks functionality to ever withdraw the money, or revert the process, therefore all the money is lost forever in the contract.
All payments used for minting will forever be stuck in the RAACNFT contract, leading to monetary loss both for users and the protocol.
Manual review
Consider implementing the following functionality:
Users can revert the minting process
Protocol operators can withdraw the funds in case of emergency
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.