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

Electra: Remaining Consensus Data Structures #5712

Open
wants to merge 41 commits into
base: unstable
Choose a base branch
from

Conversation

ethDreamer
Copy link
Member

Issue Addressed

This PR implements the remaining consensus data structure changes in Electra. It can't be merged until we cut a release for 5.2.0

eserilev and others added 3 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 <micsproul@gmail.com>
@ethDreamer ethDreamer added work-in-progress PR is a work-in-progress electra Required for the Electra/Prague fork labels May 3, 2024
| ForkName::Capella
| ForkName::Deneb => Self::Base(ssz_decode_file(path)?),
ForkName::Electra => Self::Electra(ssz_decode_file(path)?),
})
}
Copy link
Member Author

Choose a reason for hiding this comment

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

something is strange here.. the EF attester_slashing tests pass even when I make this always decode Electra

| ForkName::Altair
| ForkName::Bellatrix
| ForkName::Capella
| ForkName::Deneb => {
Copy link
Member Author

Choose a reason for hiding this comment

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

here too.. the EF tests pass even if i make this always decode electra..

* Upgrade `superstruct` to `0.8.0`

* superstruct `AggregateAndProof`
@realbigsean realbigsean mentioned this pull request May 6, 2024
53 tasks
realbigsean and others added 19 commits May 6, 2024 17:26
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
* fix get attesting indices

* better errors

* fix compile

* only get committee index once
* attestation related ef test fixes

* delete commented out stuff
* Fix Aggregation Pool for Electra

* Remove Outdated Interface
* fix get attesting indices (#5742)

* fix get attesting indices

* better errors

* fix compile

* only get committee index once

* Ef test fixes (#5753)

* attestation related ef test fixes

* delete commented out stuff

* Fix Aggregation Pool for Electra (#5754)

* Fix Aggregation Pool for Electra

* Remove Outdated Interface

* fix ssz (#5755)

---------

Co-authored-by: realbigsean <sean@sigmaprime.io>
* add compute_on_chain_agg impl to op pool changes

* fmt

* get op pool tests to pass
realbigsean and others added 16 commits May 10, 2024 12:08
Optimise Electra op pool aggregation
* subscribe to the correct att subnets for electra

* subscribe to the correct att subnets for electra
…merge_unstable

Merge `unstable` into `electra_attestation_changes`
* Remove Crappy Decode impl for Attestation

* Remove Inefficient Attestation Decode impl

* Implement Schema Upgrade / Downgrade

* Update beacon_node/beacon_chain/src/schema_change/migration_schema_v20.rs

Co-authored-by: Michael Sproul <micsproul@gmail.com>

---------

Co-authored-by: Michael Sproul <micsproul@gmail.com>
…5810)

* - get attestation related beacon chain tests to pass
- observed attestations are now keyed off of data + committee index
- rename op pool attestationref to compactattestationref
- remove unwraps in agg pool and use options instead
- cherry pick some changes from ef-tests-electra

* cargo fmt

* fix failing test

* Revert dockerfile changes

* make committee_index return option

* function args shouldnt be a ref to attestation ref

* fmt

* fix dup imports

---------

Co-authored-by: realbigsean <seananderson33@GMAIL.com>
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 work-in-progress PR is a work-in-progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants