Make the Toasted Hazelnut Crust: Preheat the oven to 350F. Lightly grease a 9-inch pie dish with coconut oil.
In a food processor, process the hazelnuts into a fine crumb with the texture of sand. Add the oil, maple syrup, salt and oat flour and process again until the dough comes together. Finally, add the rolled oats and pulse until the oats are chopped but still have some texture to them. The dough should stick together slightly when pressed between your fingers, but it shouldn't be super-sticky either. If it's too dry, try adding 1 teaspoon water or processing it a bit longer.
With your fingers, crumble the dough evenly over the base of the pie dish. Starting from the middle, press the mixture firmly and evenly into the dish, moving outward and upward along the side of the pie dish. The harder you press the crumbs into the dish, the better the crust will hold together. Poke a few holes into the bottom to let steam escape.
Bake the crust, uncovered, for 10 to 13 minutes, until lightly golden. Remove from the oven and set aside to cool on a rack for 15 to 20 minutes.
Make the Filling: Drain and rinse the cashews. In a high-speed blender, combine the soaked cashews, agave, oil, cocoa powder, melted chocolate, vanilla, salt and espresso powder (if using) and blend on high until the filling is completely smooth. It can take a few minutes of blending to get it smooth, depending on your blender. If the blender needs more liquid to get it going, add a tablespoon of almond milk (or a bit more) to help it along.
Pour the filling into the prepared crust, scooping every last bit out of the container. Smooth out the top evenly. Garnish with shaved chocolate and/or coconut flakes, if desired.
Place the pie dish on an even surface in the freezer, uncovered. Freeze for a couple of hours, and then cover the dish and freeze overnight, or for a minimum of 4 to 6 hours, until the pie sets.
Remove the pie from the freezer and let it sit on the counter for 10 minutes before slicing. This pie is meant to be served frozen. Serve with homemade coconut whipped cream and finely chopped hazelnuts, if desired. Wrap leftover slices individually and store them in an airtight container in the freezer for 1 to 1 1/2 weeks.
Tip: Not in the mood to make a crust? Turn this dessert into freezer fudge by preparing only the chocolate filling. Pour the filling into an 8-inch square pan lined with parchment paper; top with 1/2 cup toasted hazelnuts or walnuts, and freeze until solid (about 2 hours.) Slice into squares and enjoy straight from the freezer.