Commit b8661ef
committed
Pass info about claimed payments, incl HTLCs to
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.ChannelMonitors1 parent d9175f4 commit b8661ef
File tree
4 files changed
+93
-33
lines changed- lightning/src
- chain
- ln
- pending_changelog
4 files changed
+93
-33
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
546 | 546 | | |
547 | 547 | | |
548 | 548 | | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
549 | 552 | | |
550 | 553 | | |
551 | 554 | | |
| |||
594 | 597 | | |
595 | 598 | | |
596 | 599 | | |
| 600 | + | |
597 | 601 | | |
598 | 602 | | |
599 | 603 | | |
| |||
1502 | 1506 | | |
1503 | 1507 | | |
1504 | 1508 | | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
1505 | 1512 | | |
1506 | | - | |
| 1513 | + | |
1507 | 1514 | | |
1508 | 1515 | | |
1509 | 1516 | | |
| |||
2930 | 2937 | | |
2931 | 2938 | | |
2932 | 2939 | | |
2933 | | - | |
| 2940 | + | |
| 2941 | + | |
2934 | 2942 | | |
2935 | 2943 | | |
2936 | 2944 | | |
2937 | 2945 | | |
2938 | 2946 | | |
| 2947 | + | |
2939 | 2948 | | |
2940 | 2949 | | |
2941 | 2950 | | |
| |||
3139 | 3148 | | |
3140 | 3149 | | |
3141 | 3150 | | |
3142 | | - | |
| 3151 | + | |
3143 | 3152 | | |
3144 | | - | |
| 3153 | + | |
3145 | 3154 | | |
3146 | 3155 | | |
3147 | 3156 | | |
| |||
5097 | 5106 | | |
5098 | 5107 | | |
5099 | 5108 | | |
5100 | | - | |
5101 | | - | |
| 5109 | + | |
| 5110 | + | |
| 5111 | + | |
| 5112 | + | |
| 5113 | + | |
| 5114 | + | |
5102 | 5115 | | |
5103 | 5116 | | |
5104 | 5117 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
4039 | 4039 | | |
4040 | 4040 | | |
4041 | 4041 | | |
4042 | | - | |
| 4042 | + | |
4043 | 4043 | | |
4044 | 4044 | | |
4045 | 4045 | | |
4046 | 4046 | | |
4047 | 4047 | | |
4048 | 4048 | | |
4049 | | - | |
| 4049 | + | |
| 4050 | + | |
| 4051 | + | |
| 4052 | + | |
4050 | 4053 | | |
4051 | 4054 | | |
4052 | 4055 | | |
| |||
4104 | 4107 | | |
4105 | 4108 | | |
4106 | 4109 | | |
| 4110 | + | |
4107 | 4111 | | |
4108 | 4112 | | |
4109 | 4113 | | |
| |||
4171 | 4175 | | |
4172 | 4176 | | |
4173 | 4177 | | |
4174 | | - | |
| 4178 | + | |
| 4179 | + | |
| 4180 | + | |
| 4181 | + | |
4175 | 4182 | | |
4176 | | - | |
| 4183 | + | |
4177 | 4184 | | |
4178 | 4185 | | |
4179 | 4186 | | |
| |||
4934 | 4941 | | |
4935 | 4942 | | |
4936 | 4943 | | |
| 4944 | + | |
| 4945 | + | |
| 4946 | + | |
| 4947 | + | |
| 4948 | + | |
4937 | 4949 | | |
4938 | 4950 | | |
4939 | | - | |
| 4951 | + | |
4940 | 4952 | | |
4941 | 4953 | | |
4942 | 4954 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
801 | 801 | | |
802 | 802 | | |
803 | 803 | | |
| 804 | + | |
804 | 805 | | |
805 | 806 | | |
806 | 807 | | |
| |||
1072 | 1073 | | |
1073 | 1074 | | |
1074 | 1075 | | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
1075 | 1083 | | |
1076 | 1084 | | |
1077 | 1085 | | |
1078 | 1086 | | |
1079 | 1087 | | |
1080 | 1088 | | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
1081 | 1106 | | |
1082 | 1107 | | |
1083 | 1108 | | |
| |||
6675 | 6700 | | |
6676 | 6701 | | |
6677 | 6702 | | |
| 6703 | + | |
6678 | 6704 | | |
6679 | 6705 | | |
6680 | 6706 | | |
| |||
6689 | 6715 | | |
6690 | 6716 | | |
6691 | 6717 | | |
6692 | | - | |
| 6718 | + | |
6693 | 6719 | | |
6694 | 6720 | | |
6695 | 6721 | | |
| |||
6708 | 6734 | | |
6709 | 6735 | | |
6710 | 6736 | | |
6711 | | - | |
| 6737 | + | |
6712 | 6738 | | |
6713 | 6739 | | |
6714 | 6740 | | |
| |||
6772 | 6798 | | |
6773 | 6799 | | |
6774 | 6800 | | |
| 6801 | + | |
| 6802 | + | |
| 6803 | + | |
| 6804 | + | |
| 6805 | + | |
| 6806 | + | |
| 6807 | + | |
| 6808 | + | |
| 6809 | + | |
| 6810 | + | |
| 6811 | + | |
| 6812 | + | |
6775 | 6813 | | |
6776 | | - | |
6777 | | - | |
6778 | | - | |
6779 | | - | |
6780 | | - | |
6781 | | - | |
6782 | | - | |
6783 | | - | |
6784 | | - | |
6785 | | - | |
6786 | | - | |
6787 | | - | |
6788 | 6814 | | |
6789 | | - | |
| 6815 | + | |
6790 | 6816 | | |
6791 | 6817 | | |
6792 | 6818 | | |
6793 | 6819 | | |
6794 | 6820 | | |
| 6821 | + | |
6795 | 6822 | | |
6796 | 6823 | | |
6797 | 6824 | | |
| |||
6807 | 6834 | | |
6808 | 6835 | | |
6809 | 6836 | | |
6810 | | - | |
| 6837 | + | |
6811 | 6838 | | |
6812 | 6839 | | |
6813 | 6840 | | |
| |||
6837 | 6864 | | |
6838 | 6865 | | |
6839 | 6866 | | |
6840 | | - | |
| 6867 | + | |
6841 | 6868 | | |
6842 | 6869 | | |
6843 | 6870 | | |
| |||
6871 | 6898 | | |
6872 | 6899 | | |
6873 | 6900 | | |
6874 | | - | |
| 6901 | + | |
| 6902 | + | |
6875 | 6903 | | |
6876 | 6904 | | |
6877 | 6905 | | |
| |||
6959 | 6987 | | |
6960 | 6988 | | |
6961 | 6989 | | |
| 6990 | + | |
6962 | 6991 | | |
6963 | 6992 | | |
6964 | 6993 | | |
| |||
7069 | 7098 | | |
7070 | 7099 | | |
7071 | 7100 | | |
7072 | | - | |
| 7101 | + | |
7073 | 7102 | | |
7074 | 7103 | | |
7075 | 7104 | | |
| |||
7105 | 7134 | | |
7106 | 7135 | | |
7107 | 7136 | | |
7108 | | - | |
| 7137 | + | |
7109 | 7138 | | |
7110 | 7139 | | |
7111 | 7140 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
0 commit comments