Skip to content

Conversation

stevennevins
Copy link
Contributor

@stevennevins stevennevins commented Feb 19, 2024

Goals: Create a simple helper library that abstracts the multistep process for deploying and upgrading TransparentUpgradeable proxies and beacon proxies

This is immediately useful to simplify the setUp functions in our test contracts to make them more readable. And I expect this to be useful for downstream integrators who will be able to leverage the library. Attached are examples using the setup of our IndexRegistry from the MockAVSDeployer

Before:
Screenshot 2024-02-20 at 9 18 54 AM
After:
Screenshot 2024-02-20 at 9 54 11 AM

Copy link
Contributor

@ChaoticWalrus ChaoticWalrus left a comment

Choose a reason for hiding this comment

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

Seems good! 👍

@stevennevins stevennevins marked this pull request as ready for review February 20, 2024 20:27
Copy link
Contributor

@ChaoticWalrus ChaoticWalrus left a comment

Choose a reason for hiding this comment

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

LGTM, approved.

@stevennevins stevennevins merged commit 3dee20c into dev Feb 20, 2024
@stevennevins stevennevins deleted the feat/proxy-upgrade-library branch February 20, 2024 21:27
RonTuretzky added a commit to eodata/middleware that referenced this pull request Mar 7, 2024
* fixes(m2-mainnet): combined pr for all m2-mainnet fixs (Layr-Labs#162)

* update: change core submodule branch

* fix: make commit hook executable again (Layr-Labs#160)

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

* ci: add ci to run on PRs to m2-mainnet-fixes (Layr-Labs#159)

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

* refactor: update minWithdrawalDelayBLocks variable (Layr-Labs#152)

* refactor: minWithdrawalDelayBLocks from core

* fix: core contracts commit and tests

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* Add AVS Directory Support to Service Manager (Layr-Labs#156)

* update: change core submodule branch

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: core contracts commit and tests

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: conflicts

---------

Co-authored-by: 8sunyuan <[email protected]>

* fix: submodule commit

* fix: rebase changes

* Add AVS Directory Support to Service Manager (Layr-Labs#156)

* update: change core submodule branch

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: core contracts commit and tests

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: conflicts

---------

Co-authored-by: 8sunyuan <[email protected]>

* fix: submodule commit

* fix: rebase changes

* Add AVS Directory Support to Service Manager (Layr-Labs#156)

* update: change core submodule branch

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: core contracts commit and tests

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: conflicts

---------

Co-authored-by: 8sunyuan <[email protected]>

* fix: submodule commit

* docs: AVSRegistry -> AVSDirectory

---------

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

* fix: churner (Layr-Labs#157)

* fix: submodule (Layr-Labs#164)

* test: fix flaky tests by removing bogosort (Layr-Labs#163)

* test: fix flaky tests by removing bogosort

* test: fix flaky test by rejecting empty addr inputs

* chore: storage gaps and nits (Layr-Labs#155)

* chore: add storage gaps to BLSSignatureChecker and ServiceManagerBase

* chore: ServiceManagerBase to abstract and create mock

* chore: use onlyInitializing in Base and initializer in mock

* chore: add storage gaps to BLSSignatureChecker and ServiceManagerBase

* chore: ServiceManagerBase to abstract and create mock

* chore: use onlyInitializing in Base and initializer in mock

* fix: core submodules

---------

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

* chore: eigenlayer-contracts (Layr-Labs#168)

* test/refactor: gas scenarios for updateOperators (Layr-Labs#170)

* test: gas scenarios for updateOperators

* refactor: using one call for operatorShares

* test: updateOperators 200 operators

* test: gas scenarios for updateOperators

* refactor: using one call for operatorShares

* test: updateOperators 200 operators

* fix: comments

* chore: less restrictive license for library code (Layr-Labs#177)

MIT instead of BSL-MIT mix

* docs: update README to point at deployment info (Layr-Labs#178)

* feat: minor gas optimization (Layr-Labs#183)

slightly less memory ops in `orderedBytesArrayToBitmap` fnc

* fix: include missing fields in TYPEHASH defintion (Layr-Labs#182)

* fix: include missing fields in TYPEHASH defintion

the `salt` and `expiry` fields were missing from the `OPERATOR_CHURN_APPROVAL_TYPEHASH` def

* fix: correct definition of OperatorKickParam inside of typehash def

* docs: fix grammer and inaccurate naming (Layr-Labs#179)

* fix: prevent use of current block as reference block number (Layr-Labs#181)

* chore: clean up loops to iterate downward and remove unneeded checks (Layr-Labs#180)

* chore: clean up loops to iterate downward and remove unneeded checks

* docs: clarifying comments around quorum existence checks

* docs: clarify usage of msgHash (Layr-Labs#184)

---------

Co-authored-by: Yash Patil <[email protected]>
Co-authored-by: steven <[email protected]>
Co-authored-by: Michael Sun <[email protected]>
Co-authored-by: quaq <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: ChaoticWalrus <[email protected]>

* chore: update core submodule and fix broken docs links (Layr-Labs#188)

* update eigenlayer-contracts to head of dev to get changed to deploy_from_scratch script (Layr-Labs#190)

* feat: add proxy upgrade helper library (Layr-Labs#189)

* feat: add proxy upgrade helper library

* chore: rename oz dep and file

* fix: typo

* chore: overload functions

* chore: cleanup

* chore: remove unused variable

* chore: nits

* chore: prettier

* chore: rename parmas

---------

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

* docs: add Dedaub report to repo (Layr-Labs#195)

* fix(ci): pin commitlint version (Layr-Labs#201)

* fixing error messages for tests

* adding goerli rpc for fork tests

* fix: fixing yaml format

---------

Co-authored-by: steven <[email protected]>
Co-authored-by: Yash Patil <[email protected]>
Co-authored-by: steven <[email protected]>
Co-authored-by: Michael Sun <[email protected]>
Co-authored-by: quaq <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: ChaoticWalrus <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>
yonikesel1 added a commit to eodata/middleware that referenced this pull request Mar 14, 2024
…hain manager (#18)

* add chainManager updateOperator to EORegistryCoordinator

* Eoracle mainnet merged upstream (#9)

* fixes(m2-mainnet): combined pr for all m2-mainnet fixs (Layr-Labs#162)

* update: change core submodule branch

* fix: make commit hook executable again (Layr-Labs#160)

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

* ci: add ci to run on PRs to m2-mainnet-fixes (Layr-Labs#159)

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

* refactor: update minWithdrawalDelayBLocks variable (Layr-Labs#152)

* refactor: minWithdrawalDelayBLocks from core

* fix: core contracts commit and tests

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* Add AVS Directory Support to Service Manager (Layr-Labs#156)

* update: change core submodule branch

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: core contracts commit and tests

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: conflicts

---------

Co-authored-by: 8sunyuan <[email protected]>

* fix: submodule commit

* fix: rebase changes

* Add AVS Directory Support to Service Manager (Layr-Labs#156)

* update: change core submodule branch

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: core contracts commit and tests

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: conflicts

---------

Co-authored-by: 8sunyuan <[email protected]>

* fix: submodule commit

* fix: rebase changes

* Add AVS Directory Support to Service Manager (Layr-Labs#156)

* update: change core submodule branch

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: core contracts commit and tests

* feat: add avs directory to service manager

* fix: rebase off updated bls sig checker; update integration tests

* fix: conflicts

---------

Co-authored-by: 8sunyuan <[email protected]>

* fix: submodule commit

* docs: AVSRegistry -> AVSDirectory

---------

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

* fix: churner (Layr-Labs#157)

* fix: submodule (Layr-Labs#164)

* test: fix flaky tests by removing bogosort (Layr-Labs#163)

* test: fix flaky tests by removing bogosort

* test: fix flaky test by rejecting empty addr inputs

* chore: storage gaps and nits (Layr-Labs#155)

* chore: add storage gaps to BLSSignatureChecker and ServiceManagerBase

* chore: ServiceManagerBase to abstract and create mock

* chore: use onlyInitializing in Base and initializer in mock

* chore: add storage gaps to BLSSignatureChecker and ServiceManagerBase

* chore: ServiceManagerBase to abstract and create mock

* chore: use onlyInitializing in Base and initializer in mock

* fix: core submodules

---------

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

* chore: eigenlayer-contracts (Layr-Labs#168)

* test/refactor: gas scenarios for updateOperators (Layr-Labs#170)

* test: gas scenarios for updateOperators

* refactor: using one call for operatorShares

* test: updateOperators 200 operators

* test: gas scenarios for updateOperators

* refactor: using one call for operatorShares

* test: updateOperators 200 operators

* fix: comments

* chore: less restrictive license for library code (Layr-Labs#177)

MIT instead of BSL-MIT mix

* docs: update README to point at deployment info (Layr-Labs#178)

* feat: minor gas optimization (Layr-Labs#183)

slightly less memory ops in `orderedBytesArrayToBitmap` fnc

* fix: include missing fields in TYPEHASH defintion (Layr-Labs#182)

* fix: include missing fields in TYPEHASH defintion

the `salt` and `expiry` fields were missing from the `OPERATOR_CHURN_APPROVAL_TYPEHASH` def

* fix: correct definition of OperatorKickParam inside of typehash def

* docs: fix grammer and inaccurate naming (Layr-Labs#179)

* fix: prevent use of current block as reference block number (Layr-Labs#181)

* chore: clean up loops to iterate downward and remove unneeded checks (Layr-Labs#180)

* chore: clean up loops to iterate downward and remove unneeded checks

* docs: clarifying comments around quorum existence checks

* docs: clarify usage of msgHash (Layr-Labs#184)

---------

Co-authored-by: Yash Patil <[email protected]>
Co-authored-by: steven <[email protected]>
Co-authored-by: Michael Sun <[email protected]>
Co-authored-by: quaq <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: ChaoticWalrus <[email protected]>

* chore: update core submodule and fix broken docs links (Layr-Labs#188)

* update eigenlayer-contracts to head of dev to get changed to deploy_from_scratch script (Layr-Labs#190)

* feat: add proxy upgrade helper library (Layr-Labs#189)

* feat: add proxy upgrade helper library

* chore: rename oz dep and file

* fix: typo

* chore: overload functions

* chore: cleanup

* chore: remove unused variable

* chore: nits

* chore: prettier

* chore: rename parmas

---------

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

* docs: add Dedaub report to repo (Layr-Labs#195)

* fix(ci): pin commitlint version (Layr-Labs#201)

* fixing error messages for tests

* adding goerli rpc for fork tests

* fix: fixing yaml format

---------

Co-authored-by: steven <[email protected]>
Co-authored-by: Yash Patil <[email protected]>
Co-authored-by: steven <[email protected]>
Co-authored-by: Michael Sun <[email protected]>
Co-authored-by: quaq <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: ChaoticWalrus <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>

* updating for compliance with interface (#7)

* updating for compliance with interface

* updating comment to reflect function rename

* StakeRegistry updateOperator call to chainManager

* change compiler versions to be compatible with EOracle and child chain contracts

---------

Co-authored-by: yonikesel <[email protected]>
Co-authored-by: RonTuretzky <[email protected]>
Co-authored-by: steven <[email protected]>
Co-authored-by: Yash Patil <[email protected]>
Co-authored-by: steven <[email protected]>
Co-authored-by: Michael Sun <[email protected]>
Co-authored-by: quaq <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: ChaoticWalrus <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>
bobwzy pushed a commit to bobwzy/eigenlayer-middleware-fork that referenced this pull request Apr 3, 2024
* feat: add proxy upgrade helper library

* chore: rename oz dep and file

* fix: typo

* chore: overload functions

* chore: cleanup

* chore: remove unused variable

* chore: nits

* chore: prettier

* chore: rename parmas

---------

Co-authored-by: steven <[email protected]>
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