Core Contracts

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

Incorrect balance tracking when tokens are directly sent to Treasury leads to permanent token lockup

Summary

The Treasury contract does not properly handle tokens that are directly sent to it (e.g. via direct transfer() calls). The contract only updates its internal balance tracking through the deposit() function, but tokens can be sent directly to the contract address, leading to a mismatch between actual and tracked balances.

When this happens, the extra tokens become permanently locked since the withdraw() function checks against the internal _balances tracking which doesn't reflect the actual token balance.

Impact

  • Tokens sent directly to the Treasury contract become permanently locked

  • Protocol accounting becomes inaccurate

Tools Used

Recommendations

Add a function to sync the internal balances with actual token balances.

Updates

Lead Judging Commences

inallhonesty Lead Judge 7 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.

Give us feedback!