rust-lightning/pending_changelog
Matt Corallo b8661ef6cf Pass info about claimed payments, incl HTLCs to ChannelMonitors
When we claim an MPP payment, then crash before persisting all the
relevant `ChannelMonitor`s, we rely on the payment data being
available in the `ChannelManager` on restart to re-claim any parts
that haven't yet been claimed. This is fine as long as the
`ChannelManager` was persisted before the `PaymentClaimable` event
was processed, which is generally the case in our
`lightning-background-processor`, but may not be in other cases or
in a somewhat rare race.

In order to fix this, we need to track where all the MPP parts of
a payment are in the `ChannelMonitor`, allowing us to re-claim any
missing pieces without reference to any `ChannelManager` data.

Further, in order to properly generate a `PaymentClaimed` event
against the re-started claim, we have to store various payment
metadata with the HTLC list as well.

Here we take the first step, building a list of MPP parts and
metadata in `ChannelManager` and passing it through to
`ChannelMonitor` in the `ChannelMonitorUpdate`s.
2024-10-24 17:44:33 +00:00
..
.empty_folder Update release notes for 0.0.111 2022-09-12 22:33:37 +00:00
3243-remove-balance_msat.txt Remove AvailableBalances::balance_msat 2024-09-09 19:37:03 +02:00
3259-no-downgrade.txt Add missing pending changelog for downgrade on unsafe funding 2024-08-27 19:31:25 +00:00
3322-a.txt Pass info about claimed payments, incl HTLCs to ChannelMonitors 2024-10-24 17:44:33 +00:00