Core Contracts

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

`poolBoosts` in BoostController contract is never updated in `delegateBoost` while it should

Summary

poolBoosts storage mapping is used to map pool addresses to their boost information.

/// @notice Maps pool addresses to their boost information
mapping(address => PoolBoost) private poolBoosts; // pool => boost

This mapping is currently updated in 2 functions: updateUserBoost and removeBoostDelegation.

The problem arises because delegateBoost doesn't update this variable while it should.

Overall, its unclear how poolBoost should work.

Impact

The impact of this issue is high as currently, boost and poolBoost logic is broken.

Tools Used

Manual review.

Recommendations

Make sure to clarify in documentation how boosts should work and correctly implement it.

Updates

Lead Judging Commences

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

BoostController removes pool boost on delegation removal without adding it on delegation creation, leading to accounting inconsistencies and potential underflows

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

BoostController removes pool boost on delegation removal without adding it on delegation creation, leading to accounting inconsistencies and potential underflows

Support

FAQs

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

Give us feedback!