Add a context to interactive tx session
There are three closely related, but separate parameters:
InteractiveTxParams: low-level bitcoin parameters (amounts, outputs, locktime, confirmations)Purpose: whether the interactive-tx is an initial funding, a splice, a rbfSessionContext: higher level meta information about the interactive-tx (why are we opening or splicing this channel?)
This PR adds a SessionContext and carries it all the way to the completion (success or failure) of the interactive-tx process. It is useful for better debugging, diagnostics, metrics.
I don't think this will be necessary after #2848, which adds a liquidityPurchase_opt field to InteractiveTxBuilder. If liquidity ads is used, this field will be filled. Otherwise, the channel funding / splice will have been manually initiated by the node operator.
Every on-the-fly funding made to wallet nodes will simply be a liquidity purchase, and the details of what triggered it will be contained in the paymentDetails field.
Closing this in favor of #2848