diff --git a/beacon-chain/core/electra/consolidations.go b/beacon-chain/core/electra/consolidations.go index 031faf370c1b..603e40d893e0 100644 --- a/beacon-chain/core/electra/consolidations.go +++ b/beacon-chain/core/electra/consolidations.go @@ -166,6 +166,10 @@ func ProcessConsolidations(ctx context.Context, st state.BeaconState, cs []*ethp return err } + if helpers.ConsolidationChurnLimit(math.Gwei(totalBalance)) <= math.Gwei(params.BeaconConfig().MinActivationBalance) { + return errors.New("too little available consolidation churn limit") + } + currentEpoch := slots.ToEpoch(st.Slot()) for _, c := range cs { @@ -179,10 +183,6 @@ func ProcessConsolidations(ctx context.Context, st state.BeaconState, cs []*ethp return errors.New("pending consolidations queue is full") } - if helpers.ConsolidationChurnLimit(math.Gwei(totalBalance)) <= math.Gwei(params.BeaconConfig().MinActivationBalance) { - return errors.New("too little available consolidation churn limit") - } - if c.Message.SourceIndex == c.Message.TargetIndex { return errors.New("source and target index are the same") } diff --git a/beacon-chain/core/electra/consolidations_test.go b/beacon-chain/core/electra/consolidations_test.go index c4da23d91367..1e3b22c0bd79 100644 --- a/beacon-chain/core/electra/consolidations_test.go +++ b/beacon-chain/core/electra/consolidations_test.go @@ -260,17 +260,14 @@ func TestProcessConsolidations(t *testing.T) { }, { name: "nil consolidation in slice", - state: func() state.BeaconState { - st, _ := util.DeterministicGenesisStateElectra(t, 1) - return st - }(), + state: stateWithActiveBalanceETH(t, 19_000_000), scs: []*eth.SignedConsolidation{nil, nil}, wantErr: "nil consolidation", }, { name: "state is 100% full of pending consolidations", state: func() state.BeaconState { - st, _ := util.DeterministicGenesisStateElectra(t, 1) + st := stateWithActiveBalanceETH(t, 19_000_000) pc := make([]*eth.PendingConsolidation, params.BeaconConfig().PendingConsolidationsLimit) require.NoError(t, st.SetPendingConsolidations(pc)) return st