Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: medium
Invalid

Insufficient USDC Balance Check Before Burning ZENO Tokens

Summary

The redeem() and redeemAll() functions do not check if the contract has sufficient USDC before burning ZENO tokens.

  • If the contract runs out of USDC, the transaction will fail after burning the user’s ZENO, resulting in a loss of funds.

  • This creates a critical flaw in the contract, as users may not be able to redeem their tokens successfully.

https://github.com/Cyfrin/2025-02-raac/blob/89ccb062e2b175374d40d824263a4c0b601bcb7f/contracts/zeno/ZENO.sol#L65

Impact
Users can lose ZENO tokens if the contract lacks USDC.

Tools Used
manual review

Recommendations
Ensure USDC balance is sufficient BEFORE burning ZENO

Modify both redeem() and redeemAll() to check the contract's USDC balance first before proceeding.

Updates

Lead Judging Commences

inallhonesty Lead Judge 6 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.