Add BumpTransaction event handler (events)

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

Host: dunxen  -  PR author: wpaulino

Notes and questions to follow soon!

Notes

  • PR2089 make it easy for users of LDK to be able to bump the fees of their local commitment and HTLC transactions thanks to anchor outputs and Child-Pays-For-Parent (CPFP) fee-bumping.
  • An event handler for the BumpTransactionEvent is introduced covering the cases of a pending unilateral close and HTLC resolution with the ChannelClose and HTLCResolution event variants respectively.

Questions

  1. Did you review the PR? Concept ACK, approach ACK, or NACK?
  2. On which two objects are Events exposed to a user of LDK? What convenience object does LDK provide to ensure that these events get processed periodically and how does a user specify the action taken for each event?
  3. Users need to implement one of two traits in order for LDK to make use of their confirmed UTXOs for fee-bumping in the BumpTransactionEventHandler. What are these two traits and what are the differences between them?
  4. What strategy is proposed for LDK to use for coin selection when it is required to do so for fee-bumping? What are some other strategies for coin selection that exist? Are they worth consideration?
  5. What’s the purpose of exposing pending_htlcs in BumpTransactionEvent::ChannelClose?