rust-lightning
rust-lightning copied to clipboard
[Splicing] Make funding transaction available in funded channel
This is is a relatively minor change preparation for splicing ( #1621 ).
The funding transaction is available in the ChannelContext::funding_transaction field. However, it is available only during channel negtiation, it is cleared afterwards.
In splicing, the funding transaction is needed later (for tx_add_input message).
Two possible approaches:
- Safe (less invasive), but ugly (redundant): duplicate
funding_transactionfield, set it at the same time, but don't clear it. This approach is used in #3274 (proto). - Clean but risky: change the behavior that
funding_transactionholds the transaction during the whole lifetime of the channel. The risk is that there might be code logic that relies on the field being cleared (which has to be found and adapted).