@@ -128,21 +128,16 @@ def upgrade_to_eip7251(pre: deneb.BeaconState) -> BeaconState:
128128 pending_consolidations = [],
129129 )
130130
131- activation_queue = []
132- pre_activation_queue = []
133- below_minimum = []
134- for index, validator in enumerate (post.validators):
135- if validator.activation_epoch == FAR_FUTURE_EPOCH :
136- if validator.activation_eligibility_epoch != FAR_FUTURE_EPOCH :
137- activation_queue.append(index)
138- else :
139- if validator.effective_balance >= MIN_ACTIVATION_BALANCE :
140- pre_activation_queue.append(index)
141- else :
142- below_minimum.append(index)
143-
144- activation_queue.sort(key = lambda index : (post.validators[index].activation_eligibility_epoch, index))
145- for index in activation_queue + pre_activation_queue + below_minimum:
131+ # add validators that are not yet active to pending balance deposits
132+ pre_activation = sorted ([
133+ index for index, validator in enumerate (post.validators)
134+ if validator.activation_epoch == FAR_FUTURE_EPOCH
135+ ], key = lambda index : (
136+ post.validators[index].activation_eligibility_epoch,
137+ post.validators[index].effective_balance < MIN_ACTIVATION_BALANCE ,
138+ index
139+ ))
140+ for index in pre_activation:
146141 queue_entire_balance_and_reset_validator(post, ValidatorIndex(index))
147142
148143 # Ensure early adopters of compounding credentials go through the activation churn
0 commit comments