"Cause" is the direct object, so a stripped down sentence would be:
"Heaven will crown a cause".
"Just" is an adjective that modifies "cause". It is not only A cause, it is a GOOD one, a JUST one.
"So" is an adverb that modifies the adjective "just". It acts to emphasize "just". It sort of turns "just" into "very just", but not exactly. It means something like "just, as this cause is just".