Update `channel_reestablish` for splicing (Splicing, Channel Funding, Transaction Negotiation, Channel Reestablishment)

https://github.com/lightningdevkit/rust-lightning/pull/3886

Host: vincenzopalazzo  -  PR author: jkczyz

Notes

Splicing is a process that allows users to change the funding transaction of a channel without closing it. This pull request adds further required changes, building on previous updates covered in the last two RC sessions. More specifically, this pull request amends the channel_reestablish flow (among other changes) to make it compatible with splicing.

Questions

  1. Have you reviewed [ldk/3736]? If so, is it a Concept ACK, Approach ACK, Tested ACK, or NACK?
  2. When do we use the channel_reestablish message?
  3. What is TLV, and how do the Lightning specs utilize it?
  4. Why do we need to add new TLVs to channel_reestablish?
  5. How does splicing affect the channel_establishment logic and flow?
  6. Why are announcement_sigs cleared after the splice_locked exchange?