-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Collateral token balance of DepositQueue is missing in RestakeManager::calculateTVLs() #379
Comments
alcueca marked the issue as not a duplicate |
alcueca changed the severity to 2 (Med Risk) |
As EigenLayer payments are not yet enabled which means DepositQueue is not supposed to hold any collateral Tokens (as rewards from Eigen Layer) only ETH. which is why the DepositQueue balance is not accumulated in TVL. |
alcueca marked the issue as primary issue |
Accepting the issue as QA, as it deals with a likely future. |
alcueca changed the severity to QA (Quality Assurance) |
alcueca marked the issue as grade-a |
alcueca marked the issue as grade-b |
Lines of code
https://github.com/code-423n4/2024-04-renzo/blob/main/contracts/RestakeManager.sol#L352
https://github.com/code-423n4/2024-04-renzo/blob/main/contracts/Deposits/DepositQueue.sol#L254
Vulnerability details
Impact
RestakeManager::calculateTVLs()
does not include theERC20
tokens inDepositQueue
, leading to a wrong TVL value and more ezETH minted / less assets received when withdrawing than supposed.Proof of Concept
DepositQueue::sweepERC20()
deposits token rewards fromDepositQueue
to EigenLayer. Thus, it is expected to holdERC20
token balances to sweep later. As such, these tokens should be accounted for in the calculation of the total TVL to keep a consistent ratio. Otherwise users may mint ezETH without considering these tokens, thenDepositQueue::sweepERC20()
is called and increases TVL by depositing in EigenLayer and users get a sudden boost of their value, dilluting rewards for past ezETH holders.Tools Used
Vscode
Recommended Mitigation Steps
Include the token balances of
DepositQueue
inRestakeManager::calculateTVLs()
, similar to what is done with theWithdrawalQueue
.Assessed type
Other
The text was updated successfully, but these errors were encountered: