-
Notifications
You must be signed in to change notification settings - Fork 41
Instant WDs stEth #294
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
Instant WDs stEth #294
Conversation
- Add feeShareToStakers parameter to _processStETHRedemption - Call burnEEthShares to distribute fees to stakers in stETH flow - Update share validation to account for both withdrawal and fee burning - Ensure consistent fee handling between ETH and stETH redemption flows - Add InvalidOutputToken error for unsupported output tokens - Improve function documentation and parameter naming
…on-staker-fees fix: add fee split to stETH redemption flow
…h-fixes Vaibhav/instant wd steth fixes
- Added `deploy.s.sol` to handle the deployment of EtherFi contracts including `EtherFiRedemptionManagerTemp`, `EtherFiRestaker`, `EtherFiRedemptionManager`, and `LiquidityPool`. - Created utility functions in `utils.sol` for deployment and verification processes.
- Introduced `transactions.s.sol` for managing upgrade and rollback processes for EtherFi contracts. - Removed unused variables and comments from `deploy.s.sol`. - Added a new `readme.md` to document deployment and upgrade procedures. - Updated utility functions in `utils.sol` to include minimum delay constants for timelocks.
…tions - Updated `transactions.s.sol` to include new contract implementations for `EtherFiRedemptionManager`, `EtherFiRedemptionManagerTemp`, `EtherFiRestaker`, and `LiquidityPool`. - Enhanced utility functions in `utils.sol` to support proxy upgradeability checks and time calculations.
- Implemented `verifyCreate2Address` function to compute the predicted address for contracts created with Create2, enhancing deployment verification capabilities. - Refactored `getImplementation` function to streamline proxy implementation retrieval using `vm.load`.
…on handling in stETH withdrawal script
- Introduced `VerifyStETHWithdrawals` contract to validate addresses, bytecode, upgradeability, and new functionality for EtherFi contracts.
…EtherFiRedemptionManagerTemp`, `EtherFiRestaker`, and `LiquidityPool
…y-verify-instant_wdrls_for_stETH Implement deployment and verifications scripts for stETH withdrawals upgrade
…ed-addresses-timelock-sim
Sherlock AI FindingsThe automated tool identified the following potential security issues in the codebase. Please review the details for each issue in the linked dashboard.
Next Steps: Review the linked issues in the dashboard and address high-severity bugs first. Contact the team if you need assistance. Full report available at: https://ai.sherlock.xyz/runs/45019e86-8db1-4b82-a92a-44df65662d93 |
…IN and OPERATING_TIMELOCK in stETH withdrawal scripts
| exitFeeInBps: _exitFeeInBps[i], | ||
| lowWatermarkInBpsOfTvl: _lowWatermarkInBpsOfTvl[i] | ||
| }); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Bug
The initializeTokenParameters function iterates using _exitFeeSplitToTreasuryInBps.length but accesses other input arrays (_tokens, _exitFeeInBps, _lowWatermarkInBpsOfTvl, _bucketCapacity, _bucketRefillRate) without validating their lengths. If any of these arrays are shorter, it results in an out-of-bounds access and transaction revert.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Executed the stETH withdrawals upgrade on contracts
Note
Enable instant redemptions to ETH or stETH with per-token limits/fees, integrate
EtherFiRestaker, and add non-ETH share burn path inLiquidityPoolwith deployment/ops scripts.EtherFiRedemptionManagerto redeem eETH/weETH toETHorstETH, with per-tokenRedemptionInfo(rate limit, fees, low watermark) and admin setters; addinitializeTokenParameters,previewRedeem(shares, token), and output-token routing.EtherFiRestaker(constructor param +lido) and emit token-awareRedeemedevent; add rate-limit and liquidity checks per token.etherFiRedemptionManagerandtransferStETH(recipient, amount)restricted to the manager.burnEEthSharesForNonETHWithdrawal(uint256,uint256)andEEthSharesBurnedForNonETHWithdrawalevent to support stETH redemptions without ETH withdrawal.LiquidityPool,EtherFiRedemptionManager(Temp), andEtherFiRestaker; include rollback paths.script/deploys/Deployed.s.sol) and deployment logs (CREATE2 salt and new impl addresses).ContractCodeCheckerbyte comparison order in full/partial match helpers.Written by Cursor Bugbot for commit 51cf1fb. This will update automatically on new commits. Configure here.