Releases: primev/mev-commit
v1.0.1
v1.0.0
The team is proud to announce a major milestone, our first mainnet release. This release is a polished version of all previous releases, but deployed on the Ethereum mainnet.
Changelog
- 8167739 Update avs-metadata.json (#539)
- a8be8a8 Update contracts-deployer.nomad.j2 (#540)
- 1a99678 chore: add mainnet deployment contract for validator opt-in router (#520)
- 48897d2 chore: increase min stake for mainnet (#546)
- 8fbcb47 chore: remove author comment (#553)
- 59dac57 chore: update all configs to mainnet (#551)
- 8ceeb28 chore: update bridge hardcoded values (#542)
- 38a385e feat: introduce mainnet profile (#544)
- c31541c fix: cancellation transaction (#554)
- f082615 fix: deploy l1 gateway directly from contracts dir (#538)
- 0085b86 fix: use chain ID from RPC (#555)
- 88127a6 fix: use primev multisig as l1 gateway owner addr (#547)
- 83f2d75 fix: validator check lag (#543)
- bfdb117 mainnet config fixes (#552)
v0.8.0
The team is excited to announce the latest release, which brings a suite of new features and critical fixes to enhance the robustness, security, and usability of the protocol. Below are the highlights:
Features and Enhancements
- Autodeposit Base Amount Update: Lower Autodeposit Base Amount: Lowered autodeposit base amount from 1 ETH to 300 gwei to optimize deposit handling.
- Symbiotic Integration: Added support for Symbiotic's operator-specific delegators, ensuring full compatibility with our middleware.
- Simplified Delegation: Vaults can now allocate stake to a single operator, streamlining the delegation process.
- Bid Amount-Based Ordering: Implemented ordering of commitments based on bid amounts when retrieving from the store, enhancing the prioritization mechanism.
- Enhanced Security: Providers must now sign their EOA account addresses during registration, linking BLS keys to EOAs.
- Protobuf and P2P Updates: Updated protobufs and P2P nodes to accommodate changes in the StakeRequest structure and provider flow.
- Multiple RPCs for Relayer: Enabled the use of multiple RPC URLs for the bridge to ensure relayer operations remain uninterrupted in case of RPC downtime.
Fixes and Security Enhancements
- Single On-Chain Bridge Fee Implementation: Fee Structure Simplification to handle a single finalization fee, ensuring consistency across chains.
- Security Fixes: Addressed multiple audit findings to enhance protocol security.
For detailed changes and implementation specifics, please review the changelog and updated documentation.
We greatly value the community’s feedback and contributions—continue to share your insights to help us build a more robust and efficient MEV-Commit ecosystem!
Changelog
- 00585cf chore: add bidder-cli artifact for release (#526)
- 6c28594 chore: bump version for v0.8 (#530)
- be1965d chore: fix stressnet with new BLS keys (#534)
- 8af1080 chore: update L1 gateway address (#536)
- fb7cba9 chore: update bridge finalization fee (#528)
- 7c51c71 chore: verify l1 gateway (#519)
- 0018a4f feat: a tool to craft provider registration signatures (#533)
- 418c1af feat: added order of the commitments (#515)
- 33c187a feat: adds BLS signature verification for provider registration (#523)
- c2f42e3 feat: support for operator specific delegators (#508)
- c3cf161 feat: symbiotic burner router integration (#516)
- 91dae63 feat: updates autodeposit base amount to 300 gwei for window (#462)
- b7a79a4 feat: use multiple RPCs for relayer (#527)
- 81cfa8a fix: audit 2 issues (#521)
- 8526536 fix: bls signer tool goreleaser (#537)
- 6df26e0 fix: launchmevcommit script faucet logs (#513)
- edb6b44 fix: remove required flags for bridge arguments (#518)
- 16db7b9 fix: use single on-chain bridge fee (#522)
v0.7.0
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)
v0.6.3
This patch adds a new flag for both bidder and provider nodes. It also organizes the flags for the mev-commit binary into categories for better UX.
The bidder nodes can use the --bidder-bid-timeout
flag to configure the timeout to wait for preconfirmations from the provider nodes.
The provider nodes can use the --provider-decision-timeout
flag to configure the timeout for the mev-commit node to wait for the decision logic.
Changelog
v0.6.2
v0.6.1
This patch release introduces several enhancements and fixes.
Provider API Enhancement: get stake provider API behavior has been fixed, which previously always returned an empty BLS public key string. This fix ensures accurate retrieval of stake information, enhancing API reliability for providers.
Updated Default Contract Addresses: The default contract addresses have been updated to reflect with the latest deployments. In addition, a minor issue causing provider nodes to close improperly has been fixed, improving node stability.
Output Log Accuracy: Issue where output logs were displaying the wrong node type for providers has been fixed.
NAT Configuration Support: Introduction of the --nat-ip
flag to the launchmevcommit script, allowing providers to set their IP and/or port when operating behind NAT. This addition improves network connectivity and simplifies configuration for providers in NAT environments.
See the changelog for more details.
Changelog
v0.6.0
The team is happy to announce the next release of mev-commit. This release mainly focuses on hardening the P2P node and improving the smart contracts deployed on the mev-commit chain.
Validator API Improvements: Introduction of default parameters, inclusion of error checks for incorrect epochs, and improved documentation for Validator API endpoints to improve usability and integration.
Symbiotic Integration for Validator Registry: Introduction of symbiotic network middleware contract as an option for the validator registry with mev-commit, extending functionality and providing additional options for network interaction.
Contracts Modularization: Storage and state transition logic in core contracts has been split to improve modularity. Storage gaps have also been added to all contracts to maintain upgradeability.
Gas Parameter Adjustments: Gas usage parameters have been adjusted to optimize contract interactions and prevent integration test failures.
Several other several small fixes and improvements have been made. See the changelog and documentation for more information.
Changelog
- fe35e71 chore: added description for validator api (#336)
- e0c7a7c chore: bump solidity across repo (#379)
- 9b35b02 chore: bump version for new release (#412)
- 726dd18 chore: delete redundant check (#359)
- 06dcf97 chore: gas adjustments (#372)
- a439edd chore: improve OpenAPI specs (#380) (#381)
- 3408ed6 chore: update values w.r.t new opt-in router deployment (#362)
- 0253556 ci: remove forge coverage command (#396)
- e570c21 feat: add option to enable tracing for launchmevcommit script (#356)
- c0f5663 feat: added default params for validator api (#357)
- 3e78702 feat: automated integration tests (#252)
- 5fe2843 feat: consolidate slashAmount and minStake for vanillaRegistry (#406)
- 1d60d2f feat: contract storage gaps (#351)
- b576754 feat: delegation for provider registration/stake (#332)
- b4b4862 feat: dont reset unstake height upon slashing w/ vanilla registry (#401)
- 6583739 feat: enable backup/restore of Geth db (#365)
- 8eb78b9 feat: implements partial slashing (#402)
- 8056852 feat: introduce Geth archive node profile (#377)
- 8321257 feat: introduce OTEL tracing (#343)
- 50ce7ea feat: pauseable core contracts (#352)
- d866562 feat: revert reason and custom errors (#375)
- 3ac5116 feat: send transaction payloads in bid (#355)
- 09b87de feat: symbiotic integration for validator registry (#383)
- 86e18aa feat: tune Geth backup/restore resources (#374)
- ad33981 fix: backup in progress (#382)
- 4e43a8c fix: check "hasPod" in _isValidatorOptedIn (#353)
- 23872f5 fix: handle pq error (#397)
- 3aa76a7 fix: misc fixes from negative testing (#407)
- 5f27ffc fix: nomad noop on service restart (#404)
- 92e0be6 fix: provider-emulator-nodes for stressnet profile (#391)
- ea0d050 fix: real bidder (#346)
- ace3989 fix: remove indexed fields from mev-commit avs contract (#393)
- 8c5dda5 fix: remove store contracts addresses (#342)
- 32311d7 fix: retry on failed event subscription (#384)
- 3541c70 fix: send payloads and reverting txns on API (#389)
- 7e68fcf perf: reduce transfer calls in vanilla registry functions (#411)
- 0a85a2b refactor: change log verbosity of Geth nodes (#405)
- d76827f refactor: change sync mode to snap on all Geth nodes (#370)
- 246b1ce refactor: contract cleanup (#339)
- a170087 refactor: custom errors for core contracts (#410)
- e827a4f refactor: custom errors for l1 contracts (#395)
- 379ff76 refactor: double nomad decompression file count limit again (#387)
- 7fa300d refactor: event height lib becomes occurrence lib (#392)
- 1eccbef refactor: force stop and purge jobs as default on destroy (#371)
- a1d9f63 refactor: link all geth nodes using static node configuration (#408)
- 0f32940 refactor: misc contract audit fixes (#409)
- cb10157 refactor: rename oracle api access fields (#331)
- 4605509 refactor: rename service name and introduce service version (#400)
- 9a7bbc8 refactor: run all services inside nomad task as pid 1 (#373)
- ffd2f19 refactor: split out storage and state transition for core contracts (#341)
- 8080525 refactor: validatorRegistryV1 renamed to vanillaRegistry (#364)
v0.5.3
v0.5.2
This patch release fixes the stability of the websocket event subscription and also an issue related to the Provider API not having the transaction payload and reverting transaction hashes populated correctly.