Core Contracts

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

Funds can be stuck in Treasury

Summary

Funds can be stuck in Treasury.

Vulnerability Details

FeeCollector transfers RAAC tokens to Treasury when distributes collected fees and during emergency withdraw.

FeeCollector::_processDistributions()

if (shares[3] > 0) raacToken.safeTransfer(treasury, shares[3]);

FeeCollector::emergencyWithdraw()

if (token == address(raacToken)) {
balance = raacToken.balanceOf(address(this));
@> raacToken.safeTransfer(treasury, balance);
} else {
balance = IERC20(token).balanceOf(address(this));
@> SafeERC20.safeTransfer(IERC20(token), treasury, balance);
}

However, there is no way to withdraw funds sent directly to Treasury, those funds are permanently stuck.

Impact

Funds are stuck in Treasury.

Tools Used

Manual Review

Recommendations

Implement functionalities in Treasury to withdraw funds sent directly to Treasury.

Updates

Lead Judging Commences

inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Validated
Assigned finding tags:

FeeCollector::_processDistributions and emergencyWithdraw directly transfer funds to Treasury where they get permanently stuck

Support

FAQs

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