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

Unified proposals using v3. #116

Merged
merged 3 commits into from
Mar 19, 2024
Merged

Unified proposals using v3. #116

merged 3 commits into from
Mar 19, 2024

Conversation

mcdee
Copy link
Contributor

@mcdee mcdee commented Mar 2, 2024

With the advent of the v3 blocks endpoint, it is possible to retrieve either a proposal or blinded proposal from the same endpoint. Unify the underlying data structure into a single proposal, and support the v3 endpoint.

Also move to using new-style options for the related Submit* calls.

@pinebit
Copy link
Contributor

pinebit commented Mar 4, 2024

Is there an ETA for this to be merged and a new version to be released? Thanks!

@mcdee
Copy link
Contributor Author

mcdee commented Mar 4, 2024

Is there an ETA for this to be merged and a new version to be released? Thanks!

There's an outstanding issue with one beacon node that I'd like to resolve prior to merging this (status-im/nimbus-eth2#5850), and I wouldn't release until after the Deneb hard fork as pre-Deneb consensus nodes won't necessarily have support for this endpoint.

@pinebit
Copy link
Contributor

pinebit commented Mar 5, 2024

@mcdee I tried to estimate the integration effort for us and quickly identified one significant issue: the breaking change and one-way migration to v3 endpoint. In Charon we'd like to maintain backward compatibility for the transitioning period by putting v3 endpoint feature under a feature flag. This way our clients should be able to enable/disable this as they need. I do understand however that eventually all the components and projects will migrate to v3 endpoint.

Would it be possible to consider some "backward compatibility"? I suspect this would require to introduce another type like GenericProposal to not clash with the existing Proposal. And, given the purpose of this library is to define a model and serve as a library rather than a framework, you will give greater flexibility to all users.

@mcdee
Copy link
Contributor Author

mcdee commented Mar 5, 2024

@pinebit supporting backward-compatibility can become very painful, and is not something that I'm comfortable with being able to provide.

My plan is to wait for all major clients (lighthouse,prysm,nimbus,teku) to support this endpoint to a given degree and then provide a release that uses this endpoint by preference. Users of this repo can stick with the current release (0.19.10) until they are ready to upgrade their own codebases to use the v3 endpoint.

@mcdee mcdee force-pushed the v3-proposals branch 4 times, most recently from a078fd5 to 05d7c8d Compare March 11, 2024 21:02
@mcdee mcdee merged commit 605f842 into master Mar 19, 2024
2 checks passed
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.

2 participants