The team is excited to announce the latest release, which focuses on improving the robustness of the protocol through enhancements to the bridge contracts, validator registry. Below are the highlights:
Bridge Contract Improvements
- Renaming and Clarity:
Whitelist
renamed toAllocator
for improved clarity. - Enhancements: Added interfaces, storage contracts, reentrancy guards, and custom errors for better security and maintainability.
- Resilient Operations: Introduced reverting receivers and fallbacks for unsupported operations.
Validator Registry Refinements
- Error Handling: Custom errors now provide more informative responses when invalid operations are attempted (e.g.,
NoPodExists
for non-setup eigenpods). - Gas Optimizations: Reduced gas costs through optimized storage reads and updates.
- Audit-Driven Enhancements: Fixed issues highlighted in audits, such as handling slashed and unstaked validators more effectively.
Other Contract Improvements and Fixes
- Gas Usage and State Optimization: Refined contract logic to improve efficiency and reduce integration test failures.
- API Updates: Validator registry parameters and APIs updated for improved usability and integration flexibility.
- Symbiotic Integration: Updated middleware deployment to address symbiotic network requirements, including address updates and handling veto slashers.
- Audit Fixes: Addressed findings to improve protocol safety, such as fixes to slashing logic, modifier usage, and reentrancy safeguards.
- Expanded Features: Added support for multiple BLS keys, enhancing provider flexibility and dynamic registry assignments.
- Precision and Reliability: Resolved precision issues and improved test stability.
- Provider Staking Logic: Modified API to allow stake deposits for slashed providers without creating new APIs.
- Bid Overflow Handling: Fixed issues with bid overflow slashing logic.
Developer Enhancements
- Logs and Debugging: Improved error logging for bidder services and other critical operations.
- Deployment Scripts: Updated and streamlined deployment scripts for mainnet and devnet configurations.
- Documentation Updates: Inline and readme documentation now align with the latest features and audit recommendations.
For detailed changes and implementation specifics, please review the changelog and updated documentation.
This release represents a significant step forward in robustness, security, and usability for MEV-Commit. As always, we welcome feedback and contributions from the community!
Changelog
- a7df3dd chore: add bid timeout option (#453)
- 281fc65 chore: add flags to l1 deployer cli (#477)
- 798fa51 chore: bridge deploy scripts (#434)
- dad3788 chore: bump Golang version (#427)
- 1e0e2cf chore: mainnet deploy scripts for vanilla and avs registries (#476)
- b151c03 chore: middleware deployment update (#454)
- c7cd1be chore: restructure tools module (#433)
- f86e8c5 chore: scripts for getting validator registry params on mainnet (#485)
- 1ee9bc5 chore: symbiotic middleware deploy scripts (#423)
- c3e3884 chore: update contract addresses and bug with provider exit (#424)
- a8add56 chore: update testnet contract addresses (#506)
- 8975530 chore: updated router addr and deploy script (#489)
- 43b923e dereg on freeze (#415)
- 30e7da5 feat: add dockerfiles for bridge and dashboard (#467)
- fdc165a feat: add geth zero fee addresses (#502)
- 6242f1d feat: added logs to bidder service (#498)
- 0a2f8ff feat: adds support for multiple BLS keys (#468)
- ce3ce6f feat: dockerfiles or p2p and oracle (#445)
- 882eeeb feat: integrate L1 mock with services (#438)
- 3f7766a feat: introduce mock l1 for devnet setup (#430)
- 7e5a850 feat: introduce multiple L1 connections for oracle (#421)
- 8bf6f39 feat: introduce stressnet-wl1 (#490)
- 4dd1302 feat: introduce the --nat-ip flag for launchmevcommit (#426)
- b5fbdc4 feat: l1 contract deployer cli (#442)
- a8f287e feat: middleware fixes from audit report (#419)
- 86132eb feat: middleware slashing revamp (#460)
- 443e126 feat: redis consensus (#444)
- 4200e9b feat: standard bridge contract improvements (#413)
- ff04f83 feat: streamlined symbiotic veto slasher handling (#466)
- 338f9d4 feat: vanilla reg final improvements before audit (#418)
- 073cbe4 fix: add missing whenNotPaused modifiers (#474)
- df77342 fix: all targets build (#479)
- 5ed4429 fix: allocate faucet keystore in genesis (#472)
- d278132 fix: archive node historical state availability (#420)
- 26ecd81 fix: audit remediations for l1 contracts (#457)
- 5b1b678 fix: change staking API to allow register as well as deposit (#461)
- c136cea fix: comment in the generated bash script (#511)
- a6f22d0 fix: deleted bidder registered mapping (#501)
- 230de21 fix: emulator ignores if no relay (#504)
- 36254cd fix: fixed flacky tests (#494)
- 5689bce fix: get_stake provider api (#422)
- 3f3155b fix: geth lib update (#475)
- 9a95e83 fix: ignore errors in preconf tracker and bump handshake (#487)
- 1259c72 fix: increase bid processing timeout (#443)
- f67c289 fix: invalid character in keystore artifact (#469)
- 1fe77bd fix: l1 rpc url (#510)
- 69cb1b5 fix: malicious user can dos bridge transfer finalization (#448)
- f17e2e5 fix: more audit remediations (#470)
- 411470c fix: new message and renaming command (#473)
- 12fcdeb fix: node type info in output logs (#425)
- a529292 fix: precision issue (#493)
- 45562df fix: relay emulator for testnet (#505)
- 58db5fa fix: remove Geth data on destroy (#431)
- b4116e7 fix: set L1 RPC URL for gateway deployment (#507)
- 47f560f fix: set L1 chain ID for holesky (#509)
- 3531b98 fix: set bridge relayer log level to info
- 046106c fix: set last block for l1 relayer (#512)
- 8500fcb fix: slash amount in case of the bid overflow (#496)
- 1992047 fix: smart contracts audit (#447)
- 4549d7f perf: gas optimizations for vanillaRegistry and mevCommitAVS (#416)
- b715a0a refactor: change log level to warn for grpc dial (#481)
- 00df501 refactor: custom err when non-valid podOwner registers with avs (#414)
- f0fabdf refactor: export/import of Geth chaindata (#428)
- 419e63f refactor: redistribute funds from single genesis address (#465)