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 spec changes for v1.5.0-beta.0 #6731

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

Conversation

michaelsproul
Copy link
Member

@michaelsproul michaelsproul commented Dec 19, 2024

Proposed Changes

Consensus changes for v1.5.0-alpha.10, and consequently v1.5.0-beta.0 which is only cosmetically different.

Built on:

@michaelsproul michaelsproul added work-in-progress PR is a work-in-progress consensus An issue/PR that touches consensus code, such as state_processing or block verification. electra Required for the Electra/Prague fork electra-alpha10 Electra release for devnet 5 labels Dec 19, 2024
@CLAassistant
Copy link

CLAassistant commented Dec 19, 2024

CLA assistant check
All committers have signed the CLA.

@michaelsproul
Copy link
Member Author

I think I've made all the substantial changes for Electra, but the tests are broken and I haven't looked into why. Some of them probably need disabling because this branch doesn't have the PeerDAS changes.

I'll be back on Jan 6.

@michaelsproul michaelsproul requested a review from jxs as a code owner January 10, 2025 04:01
This was referenced Jan 10, 2025
Comment on lines 1264 to 1267
// TODO(electra) The shuffling calculations changed between Altair and Electra. Without
// skipping slots this test breaks. For some reason `fork_name_unchecked` returns Altair
// initially, even though this test harness should be initialized with the most recent fork, i.e. Electra
.skip_slots(32)
Copy link
Collaborator

Choose a reason for hiding this comment

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

another TODO we should take a look at

Copy link
Member Author

Choose a reason for hiding this comment

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

I've fixed both these TODOs by making the test harness skip block proposals for slashed validators. Commit: f4fe1b8

@michaelsproul michaelsproul added ready-for-review The code is ready for review and removed blocked work-in-progress PR is a work-in-progress labels Jan 13, 2025
@michaelsproul
Copy link
Member Author

This is ready for review once CI passes (I think it should 🤞 )

@michaelsproul michaelsproul changed the title Electra spec changes for v1.5.0-alpha.10 Electra spec changes for v1.5.0-beta.0 Jan 13, 2025
@@ -85,4 +85,4 @@ MAX_ATTESTATIONS: 128
# 2**4 (= 16)
MAX_DEPOSITS: 16
# 2**4 (= 16)
MAX_VOLUNTARY_EXITS: 16
MAX_VOLUNTARY_EXITS: 16
Copy link
Member Author

Choose a reason for hiding this comment

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

Note for reviewers: the contents of the presets and configs are copied verbatim from consensus-specs, which is why there are a mix of substantive changes and formatting changes.

Copy link
Member Author

@michaelsproul michaelsproul left a comment

Choose a reason for hiding this comment

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

Self-review complete. I think this is good now.

@michaelsproul
Copy link
Member Author

Eh, tests are broken. Working on it.

@michaelsproul
Copy link
Member Author

Should be good now.

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.

These changes are in parity with the spec 👍

@@ -953,6 +972,21 @@ impl<E: EthSpec> BeaconState<E> {
.ok_or(Error::ShuffleIndexOutOfBounds(index))
}

/// Get two random bytes from the given `seed`.
///
/// This is used in place of the
Copy link
Collaborator

Choose a reason for hiding this comment

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

cropped comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
consensus An issue/PR that touches consensus code, such as state_processing or block verification. electra Required for the Electra/Prague fork electra-alpha10 Electra release for devnet 5 ready-for-review The code is ready for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants