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

Capella processing #3032

Closed
wants to merge 4 commits into from
Closed

Capella processing #3032

wants to merge 4 commits into from

Conversation

rolfyone
Copy link
Contributor

Partially to initiate a discussion.

Basically use a single pipeline for withdrawal processing to simplify the flow and reduce the need for full validator scans during epoch processing.

This should make the feature much more testable amongst other benefits, and makes withdrawal of partial or full amounts an equal priority based on your position in the validator list.

The timing remains approximately equal to previous, except there may have previously been 4 exits per epoch to add that are now just done during sweeping, where previously they were done as a priority.

@potuz
Copy link
Contributor

potuz commented Oct 12, 2022

I support these changes, processing withrawals in the current specs adds a couple of full validator set loops

@ajsutton
Copy link
Contributor

For the record, the better testability of this approach is because the spec suggests client's optimise by tracking validators which become eligible for withdrawal to avoid having to scan the whole validator set. But then any reference tests which focus specifically on a spec method to do the full iteration and identify newly withdrawable validators wouldn't test that optimisation. To test properly you'd need to do the full epoch processing to ensure the caching code was actually used.

@potuz
Copy link
Contributor

potuz commented Oct 13, 2022

An alternative approach would be to process withdrawals while processing effective balance changes on the same loop, but assessing the safety of that may be tricky

@djrtwo
Copy link
Contributor

djrtwo commented Oct 16, 2022

This is based on an old commit in dev. I reworked it to be on recent dev (which had a number of capella cleanups) in #3042

@djrtwo djrtwo closed this Oct 16, 2022
@ethereum ethereum deleted a comment from Where-2 Oct 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants