Remove/document remaining Electra TODOs (#6982)

Not essential to merge this now, but I'm going through TODOs for Electra to make sure we haven't missed anything.

Targeting this at the release branch anyway so that auditors/readers don't get alarmed 😅
This commit is contained in:
Michael Sproul
2025-04-09 14:14:50 +10:00
committed by GitHub
parent 076f3f0984
commit ec643843e0
4 changed files with 3 additions and 4 deletions

View File

@@ -209,6 +209,7 @@ pub enum BlockProposalContents<E: EthSpec, Payload: AbstractExecPayload<E>> {
/// `None` for blinded `PayloadAndBlobs`.
blobs_and_proofs: Option<(BlobsList<E>, KzgProofs<E>)>,
// TODO(electra): this should probably be a separate variant/superstruct
// See: https://github.com/sigp/lighthouse/issues/6981
requests: Option<ExecutionRequests<E>>,
},
}

View File

@@ -123,8 +123,7 @@ pub fn initialize_beacon_state_from_eth1<E: EthSpec>(
// Remove intermediate Deneb fork from `state.fork`.
state.fork_mut().previous_version = spec.electra_fork_version;
// TODO(electra): think about this more and determine the best way to
// do this. The spec tests will expect that the sync committees are
// The spec tests will expect that the sync committees are
// calculated using the electra value for MAX_EFFECTIVE_BALANCE when
// calling `initialize_beacon_state_from_eth1()`. But the sync committees
// are actually calcuated back in `upgrade_to_altair()`. We need to

View File

@@ -63,7 +63,7 @@ pub fn verify_attestation_for_state<'ctxt, E: EthSpec>(
) -> Result<IndexedAttestationRef<'ctxt, E>> {
let data = attestation.data();
// TODO(electra) choosing a validation based on the attestation's fork
// NOTE: choosing a validation based on the attestation's fork
// rather than the state's fork makes this simple, but technically the spec
// defines this verification based on the state's fork.
match attestation {

View File

@@ -249,7 +249,6 @@ impl Validator {
}
}
/// TODO(electra): refactor these functions and make it simpler.. this is a mess
/// Returns `true` if the validator is partially withdrawable.
fn is_partially_withdrawable_validator_capella(&self, balance: u64, spec: &ChainSpec) -> bool {
self.has_eth1_withdrawal_credential(spec)