Soak the cashews in water for at least 1-2 hours, or if you're short on time, boil water and soak for at least 30 minutes.
Preheat the oven to 425, and spray coconut oil or oil of your choice on 2 cake pans.
Make the flax "eggs" - in a small bowl, combine ground flax with 9 tbsp. of warm water. Whisk with a fork, and set aside for about ten minutes, whisking every few minutes.
Combine the flour, baking powder, baking soda, spices and salt in a large mixing bowl.
Rinse and drain the cashews and place in a high powered blender. Add 1/2 c. water, and blend on high.
Stir in the sugars to the cashew cream, and then slowly pour the liquid mixture into the dry mixture. Add the flax "eggs" and the vanilla, and then the carrots. Stir well.
Pour the batter into two cake pans, and place on the middle rack of your oven. Bake for 30-35 minutes, until a toothpick comes out clean.
Let the cakes cool completely.
For the Icing
Beat the butter and vanilla with a hand mixer in a large mixing bowl. Slowly add the powdered sugar, and then slowly add the milk. Mix in the salt and cinnamon. Taste, and adjust by adding a bit more milk if needed.
Ice the Cake
Once the cakes are completely cooled, take a butter knife around the edge of the cake pans, and then turn the cake upside down on a large plate or serving platter.
Ice the sides and top of the cake, and repeat with the second cake, icing the sides and top.
Serve immediately, or place in the refrigerator until ready to serve.