DeFiHardhatOracleProxyUpdates
100,000 USDC
View results
Submission Details
Severity: low
Invalid

`getWellPriceFromTwaReserves` is reading stale price, can lead to discrepancies between the actual & calculated rewards

Summary

The SeasonFacet calculates rewards for users calling the sunrise function using the stale price fetched from LibWell.getWellPriceFromTwaReserves(C.BEAN_ETH_WELL). This method reads the Bean/ETH price calculated by the Minting Well from storage, resulting in the retrieval of stale price data. This stale price calculation can lead to discrepancies between the actual and calculated rewards.

Impact

Using stale price data to calculate rewards introduces a significant risk of inaccurate reward distribution. If the live price of Bean/ETH deviates from the stale price used for reward calculation, users may receive more or fewer rewards than intended. This discrepancy can result in protocol losses or user dissatisfaction, undermining the fairness and integrity of the reward system.

Recommendations

It is recommended to update the reward calculation mechanism in the SeasonFacet contract to fetch the live price of Bean/ETH from an oracle or another reliable source instead of relying on stale price data. By incorporating live price data, the reward distribution process can accurately reflect market conditions, ensuring fair and transparent rewards for users.

Updates

Lead Judging Commences

giovannidisiena Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement
Assigned finding tags:

Informational/Invalid

Support

FAQs

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