Skip to content

Releases: primev/mev-commit

v0.7.0

28 Nov 15:09
a8add56
Compare
Choose a tag to compare

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 to Allocator 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

v0.6.3

29 Oct 09:06
Compare
Choose a tag to compare

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

22 Oct 16:12
Compare
Choose a tag to compare

This patch increases the bid processing timeout for the process bid operation that communicates with the provider API.

Changelog

v0.6.1

08 Oct 07:06
Compare
Choose a tag to compare

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

  • ebf7e32 chore: update contract addresses and bug with provider exit (#424)
  • b2d4c2b feat: introduce the --nat-ip flag for launchmevcommit (#426)
  • 308fb5f fix: get_stake provider api (#422)
  • e4abf46 fix: node type info in output logs (#425)

v0.6.0

26 Sep 19:00
9b35b02
Compare
Choose a tag to compare

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

12 Sep 08:35
9407e4b
Compare
Choose a tag to compare

This patch release implements a Holesky contract upgrade for the MevCommitAVS contract to emit event data in a more desirable manner.

Changelog

  • 92b1efb feat: upgrade MevCommitAVS to v2 on Holesky (repeat) (#394)
  • 9407e4b feat: upgrade MevCommitAVS to v3 on Holesky (#399)

v0.5.2

09 Sep 21:23
c6c374b
Compare
Choose a tag to compare

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.

Changelog

  • 93ef274 fix: retry on failed event subscription (#386)
  • c6c374b fix: send payloads and reverting txns on API (#390)

v0.5.1

03 Sep 19:27
7a76390
Compare
Choose a tag to compare

This patch release includes a new feature that allows transaction payloads to be sent in the bidding process and increases the default gas amount used for transactions.

Changelog

v0.5.0

08 Aug 21:29
aeb9ec0
Compare
Choose a tag to compare

The team is happy to announce the next release of testnet. The main focus of this release has been to add a number of new features and harden the existing ones.

Embedded Storage: Introduction of persistent storage for mev-commit that helps retain certain state across restarts.

Health Check: mev-commit and oracle now expose a /health endpoint that helps determine the health of the running node by the state of important subsystems.

New Oracle API: A new authenticated API for registering provider graffiti along with their addresses has been introduced for oracle.

New Provider API: A new withdrawal API for providers to withdraw their stake from the contract.

New Bidder API: A new validator API for bidders to get information on whether the running node is opted into a validator that proposes blocks in the next epoch.

Increase of Slashing Penalty: The slashing penalty has been increased by 5% on top of the decayed bid amount (removed from the provider's share). 100% of the decayed bid is given to the bidder, and the additional 5% goes to the protocol treasury.

Window Offset Change: This change allows a deposit to be withdrawn 1 window earlier and to deposit 3 times the window amount for automatic deposit instead of 4 times.

In addition, several small fixes and improvements have been made. See the changelog and documentation for more information.

Changelog

v0.4.3

17 Jul 15:17
Compare
Choose a tag to compare

This patch release includes several fixes to improve functionality. The launchscript now always loads the latest released version and uses WebSocket instead of HTTP to communicate with the RPC settlement endpoint. The bidder auto-deposit API has been updated to provide a more ergonomic user experience.

Changelog