Apply MPP receive timeout to keysend payments#4558
Apply MPP receive timeout to keysend payments#4558tnull wants to merge 1 commit intolightningdevkit:mainfrom
Conversation
Incomplete keysend MPPs skipped the receive timeout path, allowing partial payments to hold HTLC slots until CLTV expiry instead of failing after `MPP_TIMEOUT_TICKS`. Apply the existing `total_mpp_amount_msat` completeness check to all MPP receives and add a regression test covering the keysend case. The timeout logic was originally added only for invoice-backed MPPs in 2022, and that invoice-only guard remained when receive-side MPP keysend support landed in 2023, leaving this gap latent until now. Co-Authored-By: HAL 9000
|
I've assigned @jkczyz as a reviewer! |
|
I've reviewed the entire diff thoroughly, tracing through:
No issues found. |
Fixes #4553.
Incomplete keysend MPPs skipped the receive timeout path, allowing partial payments to hold HTLC slots until CLTV expiry instead of failing after
MPP_TIMEOUT_TICKS. Apply the existingtotal_mpp_amount_msatcompleteness check to all MPP receives and add a regression test covering the keysend case.The timeout logic was originally added only for
invoice-backed MPPs in 2022, and that invoice-only guard remained when receive-side MPP keysend support landed in 2023, leaving this gap latent until now.
Co-Authored-By: HAL 9000