-
Notifications
You must be signed in to change notification settings - Fork 933
Description
This issue will track the tasks for implementing the Electra upgrade
We propose doing things differently in this fork. Instead of working off of a dedicated branch and having one big review and merge at the end, all PRs will target unstable directly and we will review and merge changes in one PR at a time. This means lighthouse must fully pass CI for each of these changes. We will not be able to turn on the Electra spec tests until Electra is fully implemented.
- devnet-1 (Implement Electra
devnet-1changes #5937)- Move signature field in Attestation (Append new
committee_bitsfield toAttestation#5924) - Rename
Constants,Presets, andContainers(Electra:devnet-1Rename and Move Stuff #5974) - Move
ConsolidationsfromBeaconBlocktoExecutionPayload& rename fields (Electra:devnet-1Rename and Move Stuff #5974) - Update
compute_proposer_index()(Fix Calculations Relying on MAX_EB #5983) - Modified
get_next_sync_committee_indices()(Fix Calculations Relying on MAX_EB #5983) - New changes for
process_pending_balance_deposits()(Update pending balance deposit processing #6005) - All changes in
process_operations()(Electra devnet 1 process operations #5994) - Engine API Changes (Update
engine-apifordevnet-1#6001) - Get ef-tests passing (Electra: Get
devnet-1ef-tests Working #6019) - Stop polling
Eth1Datafrom EL post-electra
- Move signature field in Attestation (Append new
- devnet-0
- Add Electra Fork boiler plate (Add Electra fork boilerplate #5122)
- Constants, Preset & Configuration (Electra: Add Preset, Constants, & Config #5606)
- Add gnosis preset values Add gnosis preset values #5638
- Containers
- New Containers (Electra: Add New Containers #5607)
- Modified Containers (
superstructtheAttesterSlashing#5636) - Extended Containers
- Attestation & IndexedAttestation (Attestation superstruct changes for EIP 7549 #5644)
- BeaconBlockBody (
superstructtheAttesterSlashing#5636) - ExecutionPayload & ExecutionPayloadHeader Electra other containers #5652
- BeaconState,
PartialBeaconState, & Fork Transition #5608 Electra other containers #5652
- Helper Functions
- Predicates
- Updated
is_eligible_for_activation_queueAdd more electra helpers #5653 - New
is_compounding_withdrawal_credentialElectra other containers #5652 - New
has_compounding_withdrawal_credentialElectra other containers #5652 - New
has_execution_withdrawal_credentialAdd more electra helpers #5653 - Updated
is_fully_withdrawable_validatorAdd more electra helpers #5653 - Updated
is_partially_withdrawable_validatorAdd more electra helpers #5653
- Updated
- Misc
-
get_committee_indices(EIP7549get_attestation_indices#5657) -
get_validator_max_effective_balanceAdd more electra helpers #5653
-
- Beacon State Accessors
- New
get_balance_churn_limitElectra other containers #5652 - New
get_activation_exit_churn_limitElectra other containers #5652 - New
get_consolidation_churn_limitElectra other containers #5652 - New
get_active_balanceAdd more electra helpers #5653 - New
get_pending_balance_to_withdrawAdd more electra helpers #5653 - Modified
get_attesting_indices(EIP7549get_attestation_indices#5657)
- New
- Beacon State Mutators
- Updated
initiate_validator_exitBlock processing electra #5741 - New
switch_to_compounding_validatorAdd more electra helpers #5653 - New
queue_excess_active_balanceElectra other containers #5652 - New
queue_entire_balance_and_reset_validatorElectra other containers #5652 - New
compute_exit_epoch_and_update_churnAdd more electra helpers #5653 - New
compute_consolidation_epoch_and_update_churnAdd more electra helpers #5653 - Updated
slash_validatorBlock processing electra #5741
- Updated
- Predicates
- Epoch Processing Electra epoch processing #5761
- Block Processing
- P2P-interface changes Electra: Remaining Consensus Data Structures #5712
- Beacon API changes Beacon api + validator electra #5744
- Validator changes Beacon api + validator electra #5744
- Prague
engine-apichanges (Electra engine api #5743) - spec tests
Merge Queue
This is a list of outstanding work and related PRs in the order we currently plan to merge them to unstable. Tasks should be picked up loosely in this order, and PRs for tasks should be built on top of PRs that precede it.
- Attestation related changes: Electra: Remaining Consensus Data Structures #5712
- Block processing: Block processing electra #5741
- Epoch processing: Electra epoch processing #5761
- Execution Engine API changes: Electra engine api #5743
- Beacon API + validator changes: Beacon api + validator electra #5744
- Get EF tests passing: Ef tests electra #5758
- Electra
devnet-1changes: Implement Electradevnet-1changes #5937
PR Conga Line
All branches must be in sigp repo for easy access
unstable <- electra_attestation_changes <- block-processing-electra <- electra-epoch-proc <- electra-engine-api <- beacon-api-electra <- ef-tests-electra <- electra-devnet-1