Skip to content
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

chore: cleanup dwr and unused code #593

Merged
merged 2 commits into from
Jun 21, 2024

Conversation

8sunyuan
Copy link
Collaborator

@8sunyuan 8sunyuan commented Jun 21, 2024

Goodbye DWR and BeaconOracle
Cleanup Including removing DWR and BeaconChainOracle interface, goerli scripts

  • Removing DWR from src/core/pods, scripts, and certora specs
  • Cleaned up build warnings (unused variables and function visability)
  • Removed older tests for EigenPod and EPM-EigenPod. Replaced with updated integration and unit tests
  • Deleted BeaconChainOracle interface imports (unused in PEPE)

Followup TODOs:

  • update docs with PEPE, removing DWR
  • fix and come up with new certora specs for EPM and EigenPod. Commented out for now to avoid running failed runs

@@ -50,7 +50,7 @@
*******************************************************************************/

/// @notice [DEPRECATED] Previously used to query beacon block roots. We now use eip-4788 directly
IBeaconChainOracle internal __deprecated_beaconChainOracle;
address internal __deprecated_beaconChainOracle;

Check warning

Code scanning / Slither

State variables that could be declared constant

EigenPodManagerStorage.__deprecated_beaconChainOracle (src/contracts/pods/EigenPodManagerStorage.sol#53) should be constant
Base automatically changed from pod-unit-tests to feat/partial-withdrawal-batching June 21, 2024 18:33
@wadealexc wadealexc force-pushed the unit-tests-cleanup branch from b658e9c to 4e666fa Compare June 21, 2024 18:49
Copy link
Collaborator

@wadealexc wadealexc left a comment

Choose a reason for hiding this comment

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

LGTM!

@wadealexc wadealexc merged commit 05f336b into feat/partial-withdrawal-batching Jun 21, 2024
12 of 15 checks passed
@wadealexc wadealexc deleted the unit-tests-cleanup branch June 21, 2024 18:51
wadealexc pushed a commit that referenced this pull request Jun 21, 2024
* chore: cleanup dwr and unused code

* chore: comment out pod specs
wadealexc pushed a commit that referenced this pull request Jun 21, 2024
* chore: cleanup dwr and unused code

* chore: comment out pod specs
wadealexc added a commit that referenced this pull request Aug 9, 2024
* move state into Storage contract
* remove withdrawal proof method

* feat: poc for partial withdrawal batching
* feat: remove beaconChainOracle in favor of 4788
* modify verifyStaleBalance to use plural form
* add pause flags for new methods
* deprecate old state variables
* minor cleanup and commenting
* chore: get things compiling
* i commented out/deleted a bajillion tests
* fix: adjust storage footprint to be consistent with m2

* feat: adjust verifyStaleBalance to allow anyone to start a checkpoint
* removes staleness concept from pod and manager state

* clean: clean up start checkpoint logic

* clean: remove comments

* clean: remove outdated comment and rename proofs method

* fix: remove unused variable and deprecate another

* chore: rename lastFinalizedCheckpoint to lastCheckpointTimestamp

* feat: add events for checkpoint creation and progression

* feat: remove unneeded oracle interface from EigenPodManager

* feat: remove unnecessary state root caching and add ValidatorWithdrawn event

* feat: remove all use of the delayed withdrawal router (#524)
* modify activateRestaking flow to use checkpointing
* remove withdrawNonBeaconChainETHBalanceWei in favor of checkpointing

* feat: remove staleness grace period

* feat: add flag to startCheckpoint to prevent 0-balance checkpoints

* chore: move currentCheckpoint to a public getter and update IEigenPod interface

* chore: fix comment, update interfaces, add event

* chore: clarify comment on activateRestaking

* feat: skip validator if already checkpointed

* fix: finish rebase

* chore: make bindings

* fix: swap inequality check to correctly skip duplicate proofs

* chore: make bindings

* test: modify integration test framework to support pepe (#563)

* test: basic epoch processing
* wip: balance proofs somewhat functional
* test: flesh out beacon chain abi and test workflow
* test: cleanup
* test: add basic invariant checks for checkpoint proofs
* test: add tests for full exits

* feat: checkpoint proofs use balance container root
* also refactors and cleans up BeaconChainProofs
* more refactor/cleanup to come

* chore: more proof library cleanup, removing unused constants

* chore: additional cleanup and renaming of proof constants for consistency

* chore: clean comments and reorganize constants

* chore: remove delayedWithdrawalRouter from EigenPod

* feat: adjust storage sizes for fields in checkpoint struct

* feat: remove activateRestaking in favor of startCheckpoint (#577)

* see PR comment for details

* test: add proofgen test contract

* fix: rename and add balance proof

* feat: track balance exited for checkpoints

* chore: deprecate deneb fork timestamp functions in EigenPodManager

* test: fix existing integration tests

* test: fix some unit tests and remove many outdated tests

* test: start setting up new integration tests

* fix: fixes two issues with verifyWC timing
* verifyWC -> startCheckpoint in the same block no longer results in a bricked checkpoint
* verifyWC using a timestamp older than the current checkpoint no longer allows you to submit a checkpoint proof for the new validator

* chore: fix outdated comment

* test: fleshed out eigenpod test flows
* also reduced number of validators being generated by tests (for speed)

* test: flesh out additional pod flows

* chore: make bindings

* test: add checks for several integration tests

* fix: add additional pause condition for verifyStaleBalance

* docs: add initial EigenPod docs

* docs: clean and update EigenPodManager docs

* chore: small wip to eigenpod docs and contract comment cleanup

* chore: fix gas metering test to be consistent
* also minor clarity tweak in verifyCheckpointProofs

* test: eigenpod unit tests with checkpointing (#591)

* test: testings init

* test: eigenpod unit tests refactor

* test: startCheckpoint unit tests

* test: pod unit tests

* fix: rebase changes
* chore: make bindings

* chore: revert pod changes

* test: add several tests and checks

---------

Co-authored-by: wadealexc <[email protected]>

* chore: cleanup dwr and unused code (#593)

* chore: cleanup dwr and unused code

* chore: comment out pod specs

* feat: remove staleness timing window
* chore: update IEigenPod interface with updated comments

* chore: fix bindings

* test: finish verify start complete flow for pepe integration tests

* chore: fix bindings

* test: add slashing and native eth integration tests

* build: partial withdrawal batching upgrade scripts (#598)

* build: preprod pod upgrade scripts

* chore: cleanup unused files

* chore: add pepe deployment output

* docs: finish main eigenpod docs and improve commenting

* docs: finish main eigenpod docs

* feat: remove hasRestaked and lastCheckpointTimestamp checks

* test: add tests for constructor and initialize

* test: fix mainnet fork tests and compiler warnings

* docs: update diagrams for pepe

* chore: upgrade preprod eigenpods (#611)

* chore: upgrade preprod eigenpods

* chore: remove unneeded logs

* chore: deploy and update deployment addresses

* feat: public block root getter (#612)

* docs: update user flow diagrams to mention supported tokens
* also increases resolution

* feat: add proof submitter address (#629)

* feat: add proof submitter address

* test: add event emission test

* docs: fix comments and add proof submitter to docs

* chore: add sigma prime audit

* feat: deploy new pods to holesky preprod
* includes proofSubmitter address

* feat: update PEPE events (#632)

* feat: mock out new events for EigenPodManager

* chore: make bindings

* feat: remove unneeded event change and update tests

* chore: make bindings

* fix: final event versions

* chore: upgrade preprod with new PEPE events

* docs: update audit report
wadealexc added a commit that referenced this pull request Aug 9, 2024
* move state into Storage contract
* remove withdrawal proof method

* feat: poc for partial withdrawal batching
* feat: remove beaconChainOracle in favor of 4788
* modify verifyStaleBalance to use plural form
* add pause flags for new methods
* deprecate old state variables
* minor cleanup and commenting
* chore: get things compiling
* i commented out/deleted a bajillion tests
* fix: adjust storage footprint to be consistent with m2

* feat: adjust verifyStaleBalance to allow anyone to start a checkpoint
* removes staleness concept from pod and manager state

* clean: clean up start checkpoint logic

* clean: remove comments

* clean: remove outdated comment and rename proofs method

* fix: remove unused variable and deprecate another

* chore: rename lastFinalizedCheckpoint to lastCheckpointTimestamp

* feat: add events for checkpoint creation and progression

* feat: remove unneeded oracle interface from EigenPodManager

* feat: remove unnecessary state root caching and add ValidatorWithdrawn event

* feat: remove all use of the delayed withdrawal router (#524)
* modify activateRestaking flow to use checkpointing
* remove withdrawNonBeaconChainETHBalanceWei in favor of checkpointing

* feat: remove staleness grace period

* feat: add flag to startCheckpoint to prevent 0-balance checkpoints

* chore: move currentCheckpoint to a public getter and update IEigenPod interface

* chore: fix comment, update interfaces, add event

* chore: clarify comment on activateRestaking

* feat: skip validator if already checkpointed

* fix: finish rebase

* chore: make bindings

* fix: swap inequality check to correctly skip duplicate proofs

* chore: make bindings

* test: modify integration test framework to support pepe (#563)

* test: basic epoch processing
* wip: balance proofs somewhat functional
* test: flesh out beacon chain abi and test workflow
* test: cleanup
* test: add basic invariant checks for checkpoint proofs
* test: add tests for full exits

* feat: checkpoint proofs use balance container root
* also refactors and cleans up BeaconChainProofs
* more refactor/cleanup to come

* chore: more proof library cleanup, removing unused constants

* chore: additional cleanup and renaming of proof constants for consistency

* chore: clean comments and reorganize constants

* chore: remove delayedWithdrawalRouter from EigenPod

* feat: adjust storage sizes for fields in checkpoint struct

* feat: remove activateRestaking in favor of startCheckpoint (#577)

* see PR comment for details

* test: add proofgen test contract

* fix: rename and add balance proof

* feat: track balance exited for checkpoints

* chore: deprecate deneb fork timestamp functions in EigenPodManager

* test: fix existing integration tests

* test: fix some unit tests and remove many outdated tests

* test: start setting up new integration tests

* fix: fixes two issues with verifyWC timing
* verifyWC -> startCheckpoint in the same block no longer results in a bricked checkpoint
* verifyWC using a timestamp older than the current checkpoint no longer allows you to submit a checkpoint proof for the new validator

* chore: fix outdated comment

* test: fleshed out eigenpod test flows
* also reduced number of validators being generated by tests (for speed)

* test: flesh out additional pod flows

* chore: make bindings

* test: add checks for several integration tests

* fix: add additional pause condition for verifyStaleBalance

* docs: add initial EigenPod docs

* docs: clean and update EigenPodManager docs

* chore: small wip to eigenpod docs and contract comment cleanup

* chore: fix gas metering test to be consistent
* also minor clarity tweak in verifyCheckpointProofs

* test: eigenpod unit tests with checkpointing (#591)

* test: testings init

* test: eigenpod unit tests refactor

* test: startCheckpoint unit tests

* test: pod unit tests

* fix: rebase changes
* chore: make bindings

* chore: revert pod changes

* test: add several tests and checks

---------

Co-authored-by: wadealexc <[email protected]>

* chore: cleanup dwr and unused code (#593)

* chore: cleanup dwr and unused code

* chore: comment out pod specs

* feat: remove staleness timing window
* chore: update IEigenPod interface with updated comments

* chore: fix bindings

* test: finish verify start complete flow for pepe integration tests

* chore: fix bindings

* test: add slashing and native eth integration tests

* build: partial withdrawal batching upgrade scripts (#598)

* build: preprod pod upgrade scripts

* chore: cleanup unused files

* chore: add pepe deployment output

* docs: finish main eigenpod docs and improve commenting

* docs: finish main eigenpod docs

* feat: remove hasRestaked and lastCheckpointTimestamp checks

* test: add tests for constructor and initialize

* test: fix mainnet fork tests and compiler warnings

* docs: update diagrams for pepe

* chore: upgrade preprod eigenpods (#611)

* chore: upgrade preprod eigenpods

* chore: remove unneeded logs

* chore: deploy and update deployment addresses

* feat: public block root getter (#612)

* docs: update user flow diagrams to mention supported tokens
* also increases resolution

* feat: add proof submitter address (#629)

* feat: add proof submitter address

* test: add event emission test

* docs: fix comments and add proof submitter to docs

* chore: add sigma prime audit

* feat: deploy new pods to holesky preprod
* includes proofSubmitter address

* feat: update PEPE events (#632)

* feat: mock out new events for EigenPodManager

* chore: make bindings

* feat: remove unneeded event change and update tests

* chore: make bindings

* fix: final event versions

* chore: upgrade preprod with new PEPE events

* docs: update audit report
wadealexc added a commit that referenced this pull request Aug 9, 2024
* feat: implement pepe
* move state into Storage contract
* remove withdrawal proof method

* feat: poc for partial withdrawal batching
* feat: remove beaconChainOracle in favor of 4788
* modify verifyStaleBalance to use plural form
* add pause flags for new methods
* deprecate old state variables
* minor cleanup and commenting
* chore: get things compiling
* i commented out/deleted a bajillion tests
* fix: adjust storage footprint to be consistent with m2

* feat: adjust verifyStaleBalance to allow anyone to start a checkpoint
* removes staleness concept from pod and manager state

* clean: clean up start checkpoint logic

* clean: remove comments

* clean: remove outdated comment and rename proofs method

* fix: remove unused variable and deprecate another

* chore: rename lastFinalizedCheckpoint to lastCheckpointTimestamp

* feat: add events for checkpoint creation and progression

* feat: remove unneeded oracle interface from EigenPodManager

* feat: remove unnecessary state root caching and add ValidatorWithdrawn event

* feat: remove all use of the delayed withdrawal router (#524)
* modify activateRestaking flow to use checkpointing
* remove withdrawNonBeaconChainETHBalanceWei in favor of checkpointing

* feat: remove staleness grace period

* feat: add flag to startCheckpoint to prevent 0-balance checkpoints

* chore: move currentCheckpoint to a public getter and update IEigenPod interface

* chore: fix comment, update interfaces, add event

* chore: clarify comment on activateRestaking

* feat: skip validator if already checkpointed

* fix: finish rebase

* chore: make bindings

* fix: swap inequality check to correctly skip duplicate proofs

* chore: make bindings

* test: modify integration test framework to support pepe (#563)

* test: basic epoch processing
* wip: balance proofs somewhat functional
* test: flesh out beacon chain abi and test workflow
* test: cleanup
* test: add basic invariant checks for checkpoint proofs
* test: add tests for full exits

* feat: checkpoint proofs use balance container root
* also refactors and cleans up BeaconChainProofs
* more refactor/cleanup to come

* chore: more proof library cleanup, removing unused constants

* chore: additional cleanup and renaming of proof constants for consistency

* chore: clean comments and reorganize constants

* chore: remove delayedWithdrawalRouter from EigenPod

* feat: adjust storage sizes for fields in checkpoint struct

* feat: remove activateRestaking in favor of startCheckpoint (#577)

* see PR comment for details

* test: add proofgen test contract

* fix: rename and add balance proof

* feat: track balance exited for checkpoints

* chore: deprecate deneb fork timestamp functions in EigenPodManager

* test: fix existing integration tests

* test: fix some unit tests and remove many outdated tests

* test: start setting up new integration tests

* fix: fixes two issues with verifyWC timing
* verifyWC -> startCheckpoint in the same block no longer results in a bricked checkpoint
* verifyWC using a timestamp older than the current checkpoint no longer allows you to submit a checkpoint proof for the new validator

* chore: fix outdated comment

* test: fleshed out eigenpod test flows
* also reduced number of validators being generated by tests (for speed)

* test: flesh out additional pod flows

* chore: make bindings

* test: add checks for several integration tests

* fix: add additional pause condition for verifyStaleBalance

* docs: add initial EigenPod docs

* docs: clean and update EigenPodManager docs

* chore: small wip to eigenpod docs and contract comment cleanup

* chore: fix gas metering test to be consistent
* also minor clarity tweak in verifyCheckpointProofs

* test: eigenpod unit tests with checkpointing (#591)

* test: testings init

* test: eigenpod unit tests refactor

* test: startCheckpoint unit tests

* test: pod unit tests

* fix: rebase changes
* chore: make bindings

* chore: revert pod changes

* test: add several tests and checks

---------

Co-authored-by: wadealexc <[email protected]>

* chore: cleanup dwr and unused code (#593)

* chore: cleanup dwr and unused code

* chore: comment out pod specs

* feat: remove staleness timing window
* chore: update IEigenPod interface with updated comments

* chore: fix bindings

* test: finish verify start complete flow for pepe integration tests

* chore: fix bindings

* test: add slashing and native eth integration tests

* build: partial withdrawal batching upgrade scripts (#598)

* build: preprod pod upgrade scripts

* chore: cleanup unused files

* chore: add pepe deployment output

* docs: finish main eigenpod docs and improve commenting

* docs: finish main eigenpod docs

* feat: remove hasRestaked and lastCheckpointTimestamp checks

* test: add tests for constructor and initialize

* test: fix mainnet fork tests and compiler warnings

* docs: update diagrams for pepe

* chore: upgrade preprod eigenpods (#611)

* chore: upgrade preprod eigenpods

* chore: remove unneeded logs

* chore: deploy and update deployment addresses

* feat: public block root getter (#612)

* docs: update user flow diagrams to mention supported tokens
* also increases resolution

* feat: add proof submitter address (#629)

* feat: add proof submitter address

* test: add event emission test

* docs: fix comments and add proof submitter to docs

* chore: add sigma prime audit

* feat: deploy new pods to holesky preprod
* includes proofSubmitter address

* feat: update PEPE events (#632)

* feat: mock out new events for EigenPodManager

* chore: make bindings

* feat: remove unneeded event change and update tests

* chore: make bindings

* fix: final event versions

* chore: upgrade preprod with new PEPE events

* docs: update audit report

* fix: reject credential proofs if activation epoch is not set (#668)

* fix: reject credential proofs if activation epoch is not set

* chore: make bindings

* chore: fix formatting and borked config

* fix: fix borked addresses in holesky config

* chore: fix formatting again

* chore: upgrade preprod with new credential check

* chore: deploy pepe to holesky
8sunyuan pushed a commit that referenced this pull request Aug 12, 2024
* feat: implement pepe
* move state into Storage contract
* remove withdrawal proof method

* feat: poc for partial withdrawal batching
* feat: remove beaconChainOracle in favor of 4788
* modify verifyStaleBalance to use plural form
* add pause flags for new methods
* deprecate old state variables
* minor cleanup and commenting
* chore: get things compiling
* i commented out/deleted a bajillion tests
* fix: adjust storage footprint to be consistent with m2

* feat: adjust verifyStaleBalance to allow anyone to start a checkpoint
* removes staleness concept from pod and manager state

* clean: clean up start checkpoint logic

* clean: remove comments

* clean: remove outdated comment and rename proofs method

* fix: remove unused variable and deprecate another

* chore: rename lastFinalizedCheckpoint to lastCheckpointTimestamp

* feat: add events for checkpoint creation and progression

* feat: remove unneeded oracle interface from EigenPodManager

* feat: remove unnecessary state root caching and add ValidatorWithdrawn event

* feat: remove all use of the delayed withdrawal router (#524)
* modify activateRestaking flow to use checkpointing
* remove withdrawNonBeaconChainETHBalanceWei in favor of checkpointing

* feat: remove staleness grace period

* feat: add flag to startCheckpoint to prevent 0-balance checkpoints

* chore: move currentCheckpoint to a public getter and update IEigenPod interface

* chore: fix comment, update interfaces, add event

* chore: clarify comment on activateRestaking

* feat: skip validator if already checkpointed

* fix: finish rebase

* chore: make bindings

* fix: swap inequality check to correctly skip duplicate proofs

* chore: make bindings

* test: modify integration test framework to support pepe (#563)

* test: basic epoch processing
* wip: balance proofs somewhat functional
* test: flesh out beacon chain abi and test workflow
* test: cleanup
* test: add basic invariant checks for checkpoint proofs
* test: add tests for full exits

* feat: checkpoint proofs use balance container root
* also refactors and cleans up BeaconChainProofs
* more refactor/cleanup to come

* chore: more proof library cleanup, removing unused constants

* chore: additional cleanup and renaming of proof constants for consistency

* chore: clean comments and reorganize constants

* chore: remove delayedWithdrawalRouter from EigenPod

* feat: adjust storage sizes for fields in checkpoint struct

* feat: remove activateRestaking in favor of startCheckpoint (#577)

* see PR comment for details

* test: add proofgen test contract

* fix: rename and add balance proof

* feat: track balance exited for checkpoints

* chore: deprecate deneb fork timestamp functions in EigenPodManager

* test: fix existing integration tests

* test: fix some unit tests and remove many outdated tests

* test: start setting up new integration tests

* fix: fixes two issues with verifyWC timing
* verifyWC -> startCheckpoint in the same block no longer results in a bricked checkpoint
* verifyWC using a timestamp older than the current checkpoint no longer allows you to submit a checkpoint proof for the new validator

* chore: fix outdated comment

* test: fleshed out eigenpod test flows
* also reduced number of validators being generated by tests (for speed)

* test: flesh out additional pod flows

* chore: make bindings

* test: add checks for several integration tests

* fix: add additional pause condition for verifyStaleBalance

* docs: add initial EigenPod docs

* docs: clean and update EigenPodManager docs

* chore: small wip to eigenpod docs and contract comment cleanup

* chore: fix gas metering test to be consistent
* also minor clarity tweak in verifyCheckpointProofs

* test: eigenpod unit tests with checkpointing (#591)

* test: testings init

* test: eigenpod unit tests refactor

* test: startCheckpoint unit tests

* test: pod unit tests

* fix: rebase changes
* chore: make bindings

* chore: revert pod changes

* test: add several tests and checks

---------

Co-authored-by: wadealexc <[email protected]>

* chore: cleanup dwr and unused code (#593)

* chore: cleanup dwr and unused code

* chore: comment out pod specs

* feat: remove staleness timing window
* chore: update IEigenPod interface with updated comments

* chore: fix bindings

* test: finish verify start complete flow for pepe integration tests

* chore: fix bindings

* test: add slashing and native eth integration tests

* build: partial withdrawal batching upgrade scripts (#598)

* build: preprod pod upgrade scripts

* chore: cleanup unused files

* chore: add pepe deployment output

* docs: finish main eigenpod docs and improve commenting

* docs: finish main eigenpod docs

* feat: remove hasRestaked and lastCheckpointTimestamp checks

* test: add tests for constructor and initialize

* test: fix mainnet fork tests and compiler warnings

* docs: update diagrams for pepe

* chore: upgrade preprod eigenpods (#611)

* chore: upgrade preprod eigenpods

* chore: remove unneeded logs

* chore: deploy and update deployment addresses

* feat: public block root getter (#612)

* docs: update user flow diagrams to mention supported tokens
* also increases resolution

* feat: add proof submitter address (#629)

* feat: add proof submitter address

* test: add event emission test

* docs: fix comments and add proof submitter to docs

* chore: add sigma prime audit

* feat: deploy new pods to holesky preprod
* includes proofSubmitter address

* feat: update PEPE events (#632)

* feat: mock out new events for EigenPodManager

* chore: make bindings

* feat: remove unneeded event change and update tests

* chore: make bindings

* fix: final event versions

* chore: upgrade preprod with new PEPE events

* docs: update audit report

* fix: reject credential proofs if activation epoch is not set (#668)

* fix: reject credential proofs if activation epoch is not set

* chore: make bindings

* chore: fix formatting and borked config

* fix: fix borked addresses in holesky config

* chore: fix formatting again

* chore: upgrade preprod with new credential check

* chore: deploy pepe to holesky
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.

2 participants