For the sothy: In a large saucepan heat the vegetable oil over medium high heat. Add the shallots and onion and saute until lightly browned, about 5 minutes. Reduce the heat to medium add the ghee, garlic, ginger, and chile cook for 2 to 3 minutes until fragrant. Add the curry powder, curry leaves, mustard seeds, fennel seeds, turmeric, and saffron and stir for 2 minutes. Pour in the fish stock, coconut milk, tomatoes, and kosher salt. Cook sauce, uncovered, for 15 minutes. Reduce the heat to low and add the lime juice and cream. Keep warm until ready to serve.
For the rice: Rinse the rice until the water runs clear then soak in warm water for 10 minutes and drain. In a large pot of boiling, salted water cook the rice for 6 minutes.
Strain the rice and keep warm.
For the fish: In a pot that fits the steamer basket place the star anise, lemongrass, and ginger and fill with water. Bring water to a boil over high heat. Line the bottom of the steamer basket with the orange slices. Season the halibut with salt and pepper and arrange on top of the orange slices. Place the basket on top of the pot, cover, and steam for 8 minutes.
Serve the halibut with the rice and Sothy on the side.
*Can be found in specialty Indian and Sri Lankan stores.