Pit the olives by laying the flat side of a chef’s knife over the top of each one and lightly smashing it, similar to crushing a clove of garlic before peeling it. Remove the pit with your fingers; it should separate easily from the flesh.
Prepare a grill for medium-high heat. If using a charcoal grill, prepare a full chimney of charcoal. The charcoal is ready when a thin layer of white ash appears on each coal. Spread the coals evenly across the lower grate.
Heat a large cast-iron pan on the hot grill (or on a stovetop over medium-high heat). Season the fish fillets lightly with salt on both sides. Add 2 tablespoons of the grapeseed oil to the pan.
To avoid sticking, the fish should be added to the pan when it’s very hot. Shimmering streaks in the oil or light smoke rising from the pan are good indicators that it is hot enough. Place the fillets, skin-side down, in the hot pan.
After about 15 seconds, use the back of a spatula to lightly press the fish against the pan. This allows the skin to make good contact with the surface so it crisps evenly and doesn't curl. Cook the fish until the skin is golden brown and crispy, 2 to 3 minutes. Flip the fish and cook, flesh-side down, until
golden brown, about 1 minute. The fish should release easily from the pan. Remove the fish from the pan and set aside.
Using the same pan, add the remaining tablespoon grapeseed oil, followed by the onion. Sweat the onion until slightly soft, 2 to 3 minutes. Add the garlic. Cook the onion and garlic until they become translucent.
Add the cherry tomatoes, tossing until they begin to blister. The onion and garlic should begin to brown slightly. Add the olives, stirring to combine. Deglaze the pan with the wine and fish stock. Bring to a simmer, and cook down until the sauce begins to look thick and glazy, 6 to 8 minutes. Add the fish back in, skin-side up, for 2 to 3 additional minutes to cook it through.
Place the fish into a shallow bowl and pour the sauce over the top.