Description:
When users deposit collateral to their vault, they can mint EUROs. The function maxMintable() returns the maximum amount of EUROs a vault is allowed to mint. When users call mint(), a sub-function call to fullyCollateralised() is made to check if the amount the user wants to mint can be supported by their collateral. However, instead of passing in the _amount to be minted in this fullyCollateralised(), the mint function passes the sum of the amount the user wants to mint and the fee (which is a percentage of the amount). This means that if a user attempts to mint the maxMintable of their vault, the call is reverted.
Impact:
This may be confusing for users, as the protocol contradicts itself.
Tools Used:
Manual review
Recommended Mitigation Steps:
Burn _amount - fee, then send the fee.
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.