-
Notifications
You must be signed in to change notification settings - Fork 905
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-1
changes #5937)- Move signature field in Attestation (Append new
committee_bits
field toAttestation
#5924) - Rename
Constants
,Presets
, andContainers
(Electra:devnet-1
Rename and Move Stuff #5974) - Move
Consolidations
fromBeaconBlock
toExecutionPayload
& rename fields (Electra:devnet-1
Rename 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-api
fordevnet-1
#6001) - Get ef-tests passing (Electra: Get
devnet-1
ef-tests Working #6019) - Stop polling
Eth1Data
from 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 (
superstruct
theAttesterSlashing
#5636) - Extended Containers
- Attestation & IndexedAttestation (Attestation superstruct changes for EIP 7549 #5644)
- BeaconBlockBody (
superstruct
theAttesterSlashing
#5636) - ExecutionPayload & ExecutionPayloadHeader Electra other containers #5652
- BeaconState,
PartialBeaconState
, & Fork Transition #5608 Electra other containers #5652
- Helper Functions
- Predicates
- Updated
is_eligible_for_activation_queue
Add more electra helpers #5653 - New
is_compounding_withdrawal_credential
Electra other containers #5652 - New
has_compounding_withdrawal_credential
Electra other containers #5652 - New
has_execution_withdrawal_credential
Add more electra helpers #5653 - Updated
is_fully_withdrawable_validator
Add more electra helpers #5653 - Updated
is_partially_withdrawable_validator
Add more electra helpers #5653
- Updated
- Misc
-
get_committee_indices
(EIP7549get_attestation_indices
#5657) -
get_validator_max_effective_balance
Add more electra helpers #5653
-
- Beacon State Accessors
- New
get_balance_churn_limit
Electra other containers #5652 - New
get_activation_exit_churn_limit
Electra other containers #5652 - New
get_consolidation_churn_limit
Electra other containers #5652 - New
get_active_balance
Add more electra helpers #5653 - New
get_pending_balance_to_withdraw
Add more electra helpers #5653 - Modified
get_attesting_indices
(EIP7549get_attestation_indices
#5657)
- New
- Beacon State Mutators
- Updated
initiate_validator_exit
Block processing electra #5741 - New
switch_to_compounding_validator
Add more electra helpers #5653 - New
queue_excess_active_balance
Electra other containers #5652 - New
queue_entire_balance_and_reset_validator
Electra other containers #5652 - New
compute_exit_epoch_and_update_churn
Add more electra helpers #5653 - New
compute_consolidation_epoch_and_update_churn
Add more electra helpers #5653 - Updated
slash_validator
Block 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-api
changes (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-1
changes: Implement Electradevnet-1
changes #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