Commit 2a8cdde
committed
Add BLIP-42 contact support for BOLT12 payments
This adds support for BLIP-42, enabling bidirectional contact
establishment between payers and payees in BOLT12 payments.
Sender side:
- Add `send_with_contact` and `send_using_amount_with_contact` methods
to `Bolt12Payment` that accept optional `ContactSecrets` and a payer
offer to include in the invoice request.
Receiver side:
- Extend `Event::PaymentReceived` with `contact_secret` and `payer_offer`
fields, which are extracted from incoming BOLT12 payments when present.
The implementation is stateless - ldk-node surfaces the BLIP-42 data
to the application layer without managing contact state internally.
See BLIP-42: https://github.com/lightning/blips/blob/master/blip-0042.md
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>1 parent bbefa73 commit 2a8cdde
7 files changed
Lines changed: 416 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
227 | 227 | | |
228 | 228 | | |
229 | 229 | | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
230 | 236 | | |
231 | 237 | | |
232 | 238 | | |
| |||
402 | 408 | | |
403 | 409 | | |
404 | 410 | | |
405 | | - | |
| 411 | + | |
406 | 412 | | |
407 | 413 | | |
408 | 414 | | |
| |||
763 | 769 | | |
764 | 770 | | |
765 | 771 | | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
766 | 784 | | |
767 | 785 | | |
768 | 786 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
109 | 128 | | |
110 | 129 | | |
111 | 130 | | |
| |||
275 | 294 | | |
276 | 295 | | |
277 | 296 | | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
278 | 300 | | |
279 | 301 | | |
280 | 302 | | |
| |||
938 | 960 | | |
939 | 961 | | |
940 | 962 | | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
941 | 978 | | |
942 | 979 | | |
943 | 980 | | |
| |||
1008 | 1045 | | |
1009 | 1046 | | |
1010 | 1047 | | |
| 1048 | + | |
| 1049 | + | |
1011 | 1050 | | |
1012 | 1051 | | |
1013 | 1052 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
165 | 168 | | |
166 | 169 | | |
167 | 170 | | |
| |||
0 commit comments