diff --git a/simulators/eth2/withdrawals/helper.go b/simulators/eth2/withdrawals/helper.go index 5c192abf86..3842bd6cbe 100644 --- a/simulators/eth2/withdrawals/helper.go +++ b/simulators/eth2/withdrawals/helper.go @@ -228,7 +228,8 @@ func (v *Validator) VerifyWithdrawnBalance( return false, err } if blockState == nil { - return false, nil + // Probably a skipped slot + continue } execPayload, err := blockState.ExecutionPayload() diff --git a/simulators/eth2/withdrawals/scenarios.go b/simulators/eth2/withdrawals/scenarios.go index 6b987997b4..3ed8a16622 100644 --- a/simulators/eth2/withdrawals/scenarios.go +++ b/simulators/eth2/withdrawals/scenarios.go @@ -205,10 +205,12 @@ loop: bc := n.BeaconClient headBlockRoot, err := bc.BlockV2Root(ctx, eth2api.BlockHead) if err != nil { - t.Fatalf("FAIL: Error getting head block: %v", err) + t.Logf("INFO: error getting head block: %v", err) + continue } if allAccountsWithdrawn, err := allValidators.Withdrawable().VerifyWithdrawnBalance(ctx, bc, ec, headBlockRoot); err != nil { - t.Fatalf("FAIL: %v", err) + t.Logf("INFO: error getting withdrawals balances: %v", err) + continue } else if allAccountsWithdrawn { t.Logf("INFO: All accounts have successfully withdrawn") break loop