Skip to content

Conversation

ypatil12
Copy link
Collaborator

@ypatil12 ypatil12 commented Apr 2, 2025

**Motivation:**

We were missing a function declaration in `IDelegationManager.sol`.

**Modifications:**

Added `queuedWithdrawals` interface declaration and `inheritdoc` tag.

**Result:**

All functions **should** be included in the interface.
@ypatil12 ypatil12 marked this pull request as draft April 2, 2025 00:54
@github-actions github-actions bot added ✨ Enhancement New feature or request. 🔧 Fix A bug fix or minor correction. labels Apr 2, 2025
@ypatil12 ypatil12 marked this pull request as ready for review April 2, 2025 16:32
@ypatil12 ypatil12 marked this pull request as draft April 2, 2025 16:32
**Motivation:**

Address cosmetic issues brought up for the native restaking system

**Modifications:**

1. Updates `withdrawRestakedBeaconChainETH` to note that we don't have
to pass in a whole-gwei amount
2. Removes `bytesLib` from EigenPod. Also moves the file into the test
folder
3. Marks `PAUSED_WITHDRAW_RESTAKED_ETH` as deprecated in
`EigenPodPausingConstants`

**Result:**

Cleaner Contracts.
@github-actions github-actions bot added the 🧪 Test Test-related changes (unit, integration, etc.). label Apr 2, 2025
8sunyuan and others added 3 commits April 2, 2025 10:31
**Motivation:**

*Explain here the context, and why you're making that change. What is
the problem you're trying to solve.*

Fix for high sev bug found in Cantina competition.

**Modifications:**

Contract Changes (EPM):
- Safecasting uint256 `depositSharesToRemove` to int256 since this input
is provided by the user through `DelegationManager.queueWithdrawals`

Tests:
- Unit test `testFuzz_removeDepositShares_revert_depositSharesOverflow`
which does not bound fuzzed values of `depositSharesToRemove` and checks
for casting overflow, negative shares, or a valid input
- Removed all `uint224` usage in the EPM unit tests
- Regression test POC showing the inflation of staker shares based on
original finding `testFuzz_deposit_revertOverflow_queueWithdrawal`

Screenshot below is test with the expectedRevert message commented out
and with original unsafe casting implementation in the EPM. We can
clearly see the depositSharesAfter is much larger than originally...
<img width="1884" alt="image"
src="https://github.com/user-attachments/assets/77bbbabc-04d8-4761-a102-820f65089534"
/>


Updated Certora Spec:
- Fixed certora parametric rule `integrityOfRemoveDepositShares` to not
constrain input values and assert invalid input does not affect
depositShares. Updated rule passes here
https://prover.certora.com/output/748112/55c59f0cc8144022afe5c22dd1818b77/?anonymousKey=850e5552efec6219cdf5c386b6dc1d62629138e9

<img width="1372" alt="image"
src="https://github.com/user-attachments/assets/5f26451e-0894-48e0-9b4c-eb48e34ed1b4"
/>

**Result:**

Fix for bug

---------

Co-authored-by: Yash Patil <[email protected]>
**Motivation:**

DSF reset isn't emitting event on a full withdrawal.

**Modifications:**

Added event and shadowed declaration to resolve stack too deep

**Result:**

Easier for front-end to track dsf changes.

---------

Co-authored-by: Michael <[email protected]>
@ypatil12 ypatil12 marked this pull request as ready for review April 2, 2025 20:40
@ypatil12 ypatil12 merged commit faff5d7 into v1.3.0-updates Apr 3, 2025
11 checks passed
@ypatil12 ypatil12 deleted the yash/mainnet-audit-fixes branch April 3, 2025 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Enhancement New feature or request. 🔧 Fix A bug fix or minor correction. 🧪 Test Test-related changes (unit, integration, etc.).
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants