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

Block processing electra #5741

Merged
merged 139 commits into from
Jun 26, 2024
Merged

Block processing electra #5741

merged 139 commits into from
Jun 26, 2024

Conversation

eserilev and others added 25 commits April 30, 2024 11:49
* update

* experiment

* superstruct changes

* revert

* superstruct changes

* fix tests

* indexed attestation

* indexed attestation superstruct

* updated TODOs
* `superstruct` Attester Fork Variants

* Push a little further

* Deal with Encode / Decode of AttesterSlashing

* not so sure about this..

* Stop Encode/Decode Bounds from Propagating Out

* Tons of Changes..

* More Conversions to AttestationRef

* Add AsReference trait (#15)

* Add AsReference trait

* Fix some snafus

* Got it Compiling! :D

* Got Tests Building

* Get beacon chain tests compiling

---------

Co-authored-by: Michael Sproul <[email protected]>
* Upgrade `superstruct` to `0.8.0`

* superstruct `AggregateAndProof`
Merge unstable into Electra attestation changes
* get attesting indices electra impl

* fmt

* get tests to pass

* fmt

* fix some beacon chain tests

* fmt

* fix slasher test

* fmt got me again

* fix more tests

* fix tests
@realbigsean realbigsean mentioned this pull request May 8, 2024
21 tasks
@realbigsean realbigsean added the electra Required for the Electra/Prague fork label May 8, 2024
@realbigsean realbigsean mentioned this pull request May 8, 2024
63 tasks
dapplion and others added 11 commits June 20, 2024 09:58
* dedup/cleanup and remove unneeded hashset use

* remove irrelevant TODOs
* instantiate empty bitlist in unreachable code

* clean up error conversion

* fork enabled bool cleanup

* remove a couple todos

* return bools instead of options in `aggregate` and use the result

* delete commented out code

* use map macros in simple transformations

* remove signers_disjoint_from

* get ef tests compiling

* get ef tests compiling

* update intentionally excluded files
Copy link
Collaborator

@dapplion dapplion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All logic is correct with respect to the old spec, good to merge to me if we prefer to update to latest spec latter

continue;
}

let pending_balance_to_withdraw = state.get_pending_balance_to_withdraw(index)?;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

get_pending_balance_to_withdraw iterates over the full list of withdrawals making it a O(n^2) operation technically. We process only a few withdrawal requests per block, but we should watch to ensure we don't need a cache.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we should add per-operations metrics in a separate pr?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Base automatically changed from electra_attestation_changes to unstable June 24, 2024 21:08
@realbigsean realbigsean removed the skip-ci Don't run the `test-suite` label Jun 25, 2024
@realbigsean
Copy link
Member Author

@mergify queue

Copy link

mergify bot commented Jun 26, 2024

queue

✅ The pull request has been merged automatically

The pull request has been merged automatically at 858b01f

@mergify mergify bot merged commit 858b01f into unstable Jun 26, 2024
28 checks passed
@mergify mergify bot deleted the block-processing-electra branch June 26, 2024 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
electra Required for the Electra/Prague fork
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants