Core Contracts

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

FeeCollector fee types are initialized with incorrect shares

Summary

FeeCollector's swap taxes and NFT royalties fee types are initialized with incorrect shares. This will lead to incorrect fee distribution.

Vulnerability Details

In FeeCollector.__initializeFeeTypes, we have the following:

// Buy/Sell Swap Tax (2% total)
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%
});

So the total share of swap tax rate and NFT royalties fee types are 2% respectively.

However, in order to correctly distribute fees, the total share should be 100%

This is enforced in FeeCollector.updateFeeType:

// Validate fee shares total to 100%
if (newFee.veRAACShare + newFee.burnShare + newFee.repairShare + newFee.treasuryShare != BASIS_POINTS) {
revert InvalidDistributionParams();
}

Impact

Colllected fees for swap tax rate and NFT royalties won't be distributed and stuck at FeeCollector

Recommendation

Total shares for these fee types should be 100% as well.

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!