-
Notifications
You must be signed in to change notification settings - Fork 114
test/refactor: gas scenarios for updateOperators #170
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
Conversation
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.
One thing I notice about this -- this might cause our goerli code to break, because it doesn't have strategiesPerQuorum
populated.
Also, updated eigenlayer-contracts commit hash to be |
Per slack, DA contracts will be redeployed and EL will be upgraded so all good! |
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.
LGTM
* update: change core submodule branch * fix: make commit hook executable again (#160) Co-authored-by: steven <[email protected]> * ci: add ci to run on PRs to m2-mainnet-fixes (#159) Co-authored-by: steven <[email protected]> * refactor: update minWithdrawalDelayBLocks variable (#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 (#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 (#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 (#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 (#157) * fix: submodule (#164) * test: fix flaky tests by removing bogosort (#163) * test: fix flaky tests by removing bogosort * test: fix flaky test by rejecting empty addr inputs * chore: storage gaps and nits (#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 (#168) * test/refactor: gas scenarios for updateOperators (#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 (#177) MIT instead of BSL-MIT mix * docs: update README to point at deployment info (#178) * feat: minor gas optimization (#183) slightly less memory ops in `orderedBytesArrayToBitmap` fnc * fix: include missing fields in TYPEHASH defintion (#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 (#179) * fix: prevent use of current block as reference block number (#181) * chore: clean up loops to iterate downward and remove unneeded checks (#180) * chore: clean up loops to iterate downward and remove unneeded checks * docs: clarifying comments around quorum existence checks * docs: clarify usage of msgHash (#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]>
* 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]>
…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]>
* update: change core submodule branch * fix: make commit hook executable again (#160) Co-authored-by: steven <[email protected]> * ci: add ci to run on PRs to m2-mainnet-fixes (#159) Co-authored-by: steven <[email protected]> * refactor: update minWithdrawalDelayBLocks variable (#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 (#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 (#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 (#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 (#157) * fix: submodule (#164) * test: fix flaky tests by removing bogosort (#163) * test: fix flaky tests by removing bogosort * test: fix flaky test by rejecting empty addr inputs * chore: storage gaps and nits (#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 (#168) * test/refactor: gas scenarios for updateOperators (#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 (#177) MIT instead of BSL-MIT mix * docs: update README to point at deployment info (#178) * feat: minor gas optimization (#183) slightly less memory ops in `orderedBytesArrayToBitmap` fnc * fix: include missing fields in TYPEHASH defintion (#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 (#179) * fix: prevent use of current block as reference block number (#181) * chore: clean up loops to iterate downward and remove unneeded checks (#180) * chore: clean up loops to iterate downward and remove unneeded checks * docs: clarifying comments around quorum existence checks * docs: clarify usage of msgHash (#184) * feat: basic ecdsa registry * feat(ecdsa): shared test setup * feat: add events to weight updates * chore: add to unaudited folder * fix: checkpoint threshold weight * chore: organize code * feat: add variants of the ECDSAStakeRegistry * chore: prettier formatting * chore: organize * chore: rename stakeQuorum -> quorum * fix: comment * fix: typo * chore: clarify comment * fix: clarify stake threshold comment * test: add test cases for updates in fixed stake case * chore: resolve conflict with eigenlayer core * chore: add missing natspec * chore: cleanup * test: split out equal weight tests * refactor: separate out setup boilerplate from test contract * test: add regression case * fix: add event to update minimum weight * test: update an unregistered operator * chore: use arrayified getOperatorShares * test: add duplicate test in check signatures * test: permissioned registry unit tests * fix: update behavior for revoking an operator * fix: add error for invariant that signedWeight cant exceed totalWeight * feat: enforce invariant that operator weights must be updated when making configuration changes * fix: update operators must happen after the config update * perf(gas): only update total weight once when updating an array of operators * fix(wip): add bps check for threshold * refactor: logic into internal functions and add events * fix: revert back to previous threshold stake calculation * feat: make interface compatible with avs sync * perf: remove pausable * fix: improve clarity for bps usage in threshold weight * test(gas): add gas test for checkSignatures * perf(benchmark): update to use 30 operators * perf(gas): short circuit return before pushing a new checkpoint * chore: nits * docs(natspec): add missing documentation * fix: fix updateOperators * docs: add comment for check in _updateOperators * fix: remove redundant logic * docs: cleanup quorum related comments * docs: update stake threshold description * docs: update readme to indicate unaudited status * fix: typo * fix: formatting * docs: consistent disclaimer --------- 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]>
* 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]>
* 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]>
Created a draft PR to get some updated avs-sync gas costs.
The added integration tests gives the following results:
10 Operators; 25 strats; Gas cost: 849185
For 200 operators: 849185*20 = 16,983,700
10 Operators; 20 strats; Gas cost: 699895
For 200 operators: 699895*20 = 13,997,900
10 Operators; 15 strats; Gas cost: 550605
For 200 Operators: 550605*20 = 11,012,100
After Using getOperatorShares() in _weightOfOperator()
Turns out using one external call to DM to get an operators weight greatly reduces gas cost by ~23%
10 Operators; 25 strats; Gas cost: 657245
For 200 operators: 657245*20 = 13,144,900
10 Operators; 20 strats; Gas cost: 553025
For 200 operators: 553025*20 = 11,060,500
10 Operators; 15 strats; Gas cost: 448815
For 200 Operators: 448815*20 = 8,976,300