Core Contracts

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

Updation of `Buy Sell Swap Tax` and `Royalty Fee` is not possible.

Summary

FeeCollector::updateFeeType() , is used to update the Fee but the updation will get failed for the Buy Sell Swap Tax and Royalty Fee Type of Fee.

Vulnerability Details

In function FeeCollector::updateFeeType() there is this check, Which checks if the sum of 4 type of fee share (newFee.veRAACShare ,newFee.burnShare , newFee.repairShare , newFee.treasuryShare ) is 10,000 or not.

if (newFee.veRAACShare + newFee.burnShare + newFee.repairShare + newFee.treasuryShare != BASIS_POINTS) {
revert InvalidDistributionParams();
}

But in case of Buy Sell Swap Tax and Royalty Fee, the sum will not be 10,000 as we can see in function FeeCollector::_initializeFeeTypes

feeTypes[6] = FeeType({
veRAACShare: 500, // 0.5%
burnShare: 500, // 0.5%
repairShare: 1000, // 1.0%
treasuryShare: 0
});
// NFT Royalty Fees (2% total)
feeTypes[7] = FeeType({
veRAACShare: 500, // 0.5%
burnShare: 0,
repairShare: 1000, // 1.0%
treasuryShare: 500 // 0.5%
});

Impact

Updation of Buy Sell Swap Tax and Royalty Fee will not be possible

Tools Used

Manual Review

Recommendations

Remove that check and add other checks in case of Royalty and Swap Fee.

Updates

Lead Judging Commences

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

Fee shares for fee type 6 and 7 inside FeeCollector do not total up to the expected 10000 basis points, this leads to update problems, moreover they are 10x the specifications

Support

FAQs

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

Give us feedback!