Skip to content
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

feat: Integrate mev-commit functionality into relay #657

Open
wants to merge 69 commits into
base: main
Choose a base branch
from

Conversation

ckartik
Copy link

@ckartik ckartik commented Oct 14, 2024

📝 Summary

This PR integrates mev-commit functionality into the relay, enabling support for mev-commit registered validators and builders.
image

⛱ Motivation and Context

The integration of mev-commit allows for a more concrete implementation of preconfirmations, via the constraining of block submissions to mev-commit enabled block builders during the purposing slot of a validator that has opted into the mev-commit preconfirmations protocol.

Key changes include:

  • New MevCommitClient to interact with mev-commit contracts
  • Update Housekeeper to periodically sync mev-commit validator and builder registrations
    • The housekeeper has 2 added duties:
      • Monitor all builder registrations and de-registrations on the mev-commit platform
      • Load all the validators registered in mev-commit that are responsible for proposing a block in the next two epochs
  • Modify block submission handling to check mev-commit registration status, and if a validator and builder is opted-in.
  • Add Redis caching for mev-commit registration data

📚 References


✅ I have run these commands

  • make lint
  • make test-race
  • go mod tidy
  • I have seen and agree to CONTRIBUTING.md

@ckartik ckartik marked this pull request as ready for review October 14, 2024 16:23
ckartik and others added 9 commits October 14, 2024 17:29
* feat: stores validator opted in status in proposer duties map

* feat: clean up mevcommit validator redis keys

* feat: verifies correct encoding

* chore: ensures we trim prefix to adhere to contract format

* feat: also removes redundant builder cleanup
…e memory (#5)

* feat: first checks builder cache for opt in status

* nit: clean up

* nit: fix bracket order

* chore: remove dupe not ok

* nit: adds testing

* feat: adds builder pubkey to test

* nit: remove todo as implmentation is complete
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.

1 participant