Gloas alpha spec 9 (#9393)

Changes implemented

Ensure bids are for a higher slot than their parent (https://github.com/ethereum/consensus-specs/pull/5302)
Ignore PTC attestations for empty assigned slots (https://github.com/ethereum/consensus-specs/pull/5281)
Limit should_build_on_full checks to the previous slot (https://github.com/ethereum/consensus-specs/pull/5309)
Apply proposer boost if dependent roots match (https://github.com/ethereum/consensus-specs/pull/5306)
Exclude slashed validators from proposing (EIP-8045) (https://github.com/ethereum/consensus-specs/pull/5115)
Force the proposer to reorg late payloads (https://github.com/ethereum/consensus-specs/pull/5210)
Remove support for old deposit mechanism in Fulu (https://github.com/ethereum/consensus-specs/pull/4704)


  


Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu>

Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>

Co-Authored-By: Eitan Seri-Levi <eserilev@gmail.com>

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>

Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
This commit is contained in:
Eitan Seri-Levi
2026-06-15 16:56:09 -07:00
committed by GitHub
parent d8e406b6ac
commit 58e35bc96f
33 changed files with 785 additions and 247 deletions

View File

@@ -880,8 +880,11 @@ pub fn process_deposit_requests_pre_gloas<E: EthSpec>(
spec: &ChainSpec,
) -> Result<(), BlockProcessingError> {
for request in deposit_requests {
// Set deposit receipt start index
if state.deposit_requests_start_index()? == spec.unset_deposit_requests_start_index {
// Set deposit receipt start index if pre-Fulu.
// Support for the former Eth1 bridge deposit mechanism was removed in Fulu.
if !state.fork_name_unchecked().fulu_enabled()
&& state.deposit_requests_start_index()? == spec.unset_deposit_requests_start_index
{
*state.deposit_requests_start_index_mut()? = request.index
}
let slot = state.slot();

View File

@@ -1105,8 +1105,10 @@ impl PendingDepositsContext {
let pending_deposits = state.pending_deposits()?;
for deposit in pending_deposits.iter() {
// Do not process deposit requests if the Eth1 bridge deposits are not yet applied.
if deposit.slot > spec.genesis_slot
// Do not process deposit requests if pre-Fulu and the Eth1 bridge deposits are not yet applied.
// Support for the former Eth1 bridge deposit mechanism was removed in Fulu.
if !state.fork_name_unchecked().fulu_enabled()
&& deposit.slot > spec.genesis_slot
&& state.eth1_deposit_index() < state.deposit_requests_start_index()?
{
break;