Skip to content

Conversation

@ypatil12
Copy link
Collaborator

@ypatil12 ypatil12 commented Feb 24, 2025

Motivation:

Cherry-picking v1.2.0 on top of v1.1.1

Modifications:

Result:

Clean v1.2.0 ready for deployment

Updates checkpoint proof system to be Pectra compatible. The breaking
change to EigenPods is the `BeaconState` container increasing to have 37
fields, which results in the tree height to be > 5.

We need to solve for the following cases:

- Prevent deneb proofs from being submitted to pectra blocks
- Ensure that the PECTRA_FORK_TIMESTAMP is the first timestamp at or
after the pectra hard fork for which there is a non missed slot

To do this, here is the upgrade process:

1. Pause checkpoint starting & credential proofs
2. Upgrade after fork is hit
3. Run script to detect the first timestamp at or after the pectra hard
fork for which there is a non missed slot
4. Set pectra fork timestamp to the first timestamp at which there is a
pectra block header
5. Unpause

- Updated balance container and validator container proofs to pass in a
proof timestamp & pectra fork timestamp to check against which tree
height to use for the beacon state
- Modify storing variables in memory to handle stack too deep errors
- Note that since the 4788 oracle returns the PARENT beacon block root,
our check against the pectra fork timestamp returns the previous tree
length for proofs that are <= `pectraForkTimestamp`

- Post pectra, we can upgrade the EigenPod to deprecate the fork
timestamp case handling once all in progress pre-Pectra checkpoints have
been completed

- [x] Unit Tests
- [x] Integration Tests simulating upgrade
- [x] Mekong Deployment
- [x] Update Integration Test User to use validators >32 ETH
**Motivation:**

Upgrade script for Prooftra. Based on #1053, has to follow the following
process:

1. Pause checkpoint starting & credential proofs
2. Upgrade after fork is hit
3. Run script to detect the first timestamp at or after the pectra hard
fork for which there is a non missed slot
4. Set pectra fork timestamp to the first timestamp at which there is a
pectra block header
5. Unpause

**Modifications:**

`v1.2.0` upgrade script. Key part is the offchain script

**Result:**

Prooftra upgrade.
wadealexc and others added 5 commits February 24, 2025 09:25
…#1031)

* refactor(test): clean up random config and upgrade tests

* test: move test to upgrade tests
* test: improve integration invariants
* also removes unneeded fork logic
* adds checks to some invariants
* fixes some broken tests

* test(integration): enable shared setups
* Validate that users who are slashed fully can redeposit once undelegated

* removing arraylib use

* test for updating eigenpod state -> slash/undelegate

* removing unnecessary logging function

* fixing strategy set

* beacon chain tests in progress

---------

Co-authored-by: Michael <[email protected]>
Copy link
Contributor

@8sunyuan 8sunyuan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kept the addBurnableShares interface for minimal storage diffs against dev

This looks good to me. In v1.3.0 we'll set the comment back to @inheritdoc

ypatil12 added a commit that referenced this pull request Mar 13, 2025
**Motivation:**

Updates the EigenPod proof system to be pectra compatible. This includes
updating container heights and support 0x02 withdrawal credentials. All
other Pectra updates will be addressed in a post-slashing upgrade.

**Modifications:**

- Functionality:
#1053
- Upgrade Script:
#1067

**Result:**

`v1.4.0`. _Note: The commits for the the `v1.4.0` deployment are
cherry-picked onto `v1.1.1` for testnet due to audit fixes not being
deployed yet. See:
#1156 for the
diff`
ypatil12 added a commit that referenced this pull request Apr 3, 2025
**Motivation:**

We need upgrade scripts for our mainnet release. 

**Modifications:**

This PR is functionally the same as
#916, with two
modifications:

1. Adds versioning to all core contracts
2. Updates file structure of pod deploy script to match the file
structure of proofra:
#1156

To test, run `zeus test script/releases/v1.3.0-slashing/*.s.sol --env
mainnet`. You may need to update the rpcUrl since it's been flaky.

**Result:**

Complete upgrade scripts
@github-actions github-actions bot deleted the branch feat/v1.1.1 May 28, 2025 00:17
@github-actions github-actions bot deleted the feat/v1.2.0-onto-v1.1.1 branch June 20, 2025 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants