Consensys/teku

handle excess balance on fork upgrade

Closed this issue · 3 comments

https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.0/specs/electra/fork.md#upgrading-the-state
after upgrading state, the excess balance of any compounding validators needs to relocate to the activation queue:

something like

    # [New in Electra:EIP7251]
    # Ensure early adopters of compounding credentials go through the activation churn
    for index, validator in enumerate(post.validators):
        if has_compounding_withdrawal_credential(validator):
            queue_excess_active_balance(post, ValidatorIndex(index))

where ever the spec gets to...

still in question as to whether this ends up in 7251

we may be able to utilize a single loop in the upgrade state fn, so that we don't have to reprocess the entire validator set.

https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.0/specs/electra/fork.md#upgrading-the-state

probably want to check ElectraStateUpgrade covers all of the state upgrade functionality really