Preheat oven to 350ºF; grease and flour a Bundt pan. Sift together flour, baking powder, baking soda and salt; set aside.
In the bowl of a stand mixer with the paddle attachment, combine together sugar, orange juice, eggs, buttermilk, cranberry juice, and grapeseed oil; process until blended. Add dry ingredients and mix just until incorporated. Fold in cranberries and orange zest. Pour the batter into the prepared pan and spread evenly.
Bake for 53 to 60 minutes in the preheated oven, or until a cake tester inserted comes out clean. Let the cake cool in the pan set over a wire rack for 30 minutes. Remove the cake from the pan and place on a serving plate; ice it.
ICING: In a medium mixing bowl, combine icing sugar, butter, orange juice, and orange zest until smooth. Ice cake when cool and sprinkle with chopped walnuts.
If icing is too thick, add more liquid or too thin, add more icing sugar.