For the marinade, peel and finely dice the garlic and ginger.
Cut the dried chillies lengthways into strips, removing the seeds as you go.
Peel the onions and cut into rings. Heat the oil in a pan and saute the onions, garlic, ginger and chilli for 2-3 minutes until golden.
Add the bay leaves and mix in the remaining spices.
Cook, stirring for 3-4 minutes until the spices begin to smell, then pour in the white wine. Pour in the vinegar and 125ml water, add the sugar and stir until dissolved. Let the marinade simmer, then season to taste and keep warm.
Cut the fish fillet into 1.5cm wide strips. Season with salt and pepper.
Half-fill a pan with oil. Toss the fish fillet strips in the flour.
Whisk the eggs in a bowl and dip in the fish to coat.
Fry the fish pieces in batches in the hot oil until golden brown.
Remove the fish pieces with a slotted spoon, drain briefly on kitchen paper and place in a bowl.
Pour in some marinade.
Add the remaining marinade until the fish is almost completely covered, let soak briefly then serve.