This fixes a bunch of issues around failure cases during channel opens. It surfaces the errors back to the UI so the end-user can (hopefully) understand why a channel failed to open. Before this there was often no feedback whatsoever and it either looked like the channel might still be opening or even worse the daemon would panic.
This also updates the return type to be the actual channel id of the channel instead of the temporary channel id since by the end of this flow the funding tx is known and broadcast.
This fixes a bunch of issues around failure cases during channel opens. It surfaces the errors back to the UI so the end-user can (hopefully) understand why a channel failed to open. Before this there was often no feedback whatsoever and it either looked like the channel might still be opening or even worse the daemon would panic.
This also updates the return type to be the actual channel id of the channel instead of the temporary channel id since by the end of this flow the funding tx is known and broadcast.