Commit 10fcd49
committed
Refactor liquidity source to support multiple LSP nodes
Replace per-protocol single-LSP configuration `LSPS1Client, LSPS2Client`
with a unified `Vec<LspNode>` model where users configure LSP nodes via
`add_lsp()` and protocol support is discovered at runtime via LSPS0
`list_protocols`.
- Replace separate `LSPS1Client/LSPS2Client` with global pending request
maps keyed by `LSPSRequestId`
- Add LSPS0 protocol discovery `discover_lsp_protocols` with event
handling for `ListProtocolsResponse`
- Update events to use is_lsps_node() for multi-LSP counterparty
checks
- Deprecate `set_liquidity_source_lsps1/lsps2` builder methods in favor
of `add_lsp()`
- LSPS2 JIT channels now query all LSPS2-capable LSPs and automatically
select the cheapest fee offer across all of them
- Add `request_channel_from_lsp()` for explicit LSPS1 LSP selection
- Spawn background discovery task on `Node::start()`1 parent 7bb1191 commit 10fcd49
13 files changed
Lines changed: 1625 additions & 1127 deletions
File tree
- bindings
- src
- liquidity
- client
- service
- payment
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
47 | | - | |
| 46 | + | |
48 | 47 | | |
49 | 48 | | |
50 | 49 | | |
| |||
97 | 96 | | |
98 | 97 | | |
99 | 98 | | |
100 | | - | |
| 99 | + | |
101 | 100 | | |
102 | 101 | | |
103 | 102 | | |
| |||
165 | 164 | | |
166 | 165 | | |
167 | 166 | | |
168 | | - | |
| 167 | + | |
169 | 168 | | |
170 | 169 | | |
171 | 170 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
69 | | - | |
70 | | - | |
| 68 | + | |
71 | 69 | | |
72 | 70 | | |
73 | 71 | | |
| |||
120 | 118 | | |
121 | 119 | | |
122 | 120 | | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
| 121 | + | |
| 122 | + | |
127 | 123 | | |
128 | 124 | | |
129 | 125 | | |
| |||
435 | 431 | | |
436 | 432 | | |
437 | 433 | | |
438 | | - | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
452 | | - | |
453 | | - | |
454 | | - | |
455 | | - | |
456 | | - | |
457 | | - | |
458 | | - | |
459 | | - | |
460 | | - | |
| 434 | + | |
| 435 | + | |
461 | 436 | | |
462 | 437 | | |
463 | 438 | | |
464 | 439 | | |
465 | | - | |
466 | | - | |
467 | | - | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
468 | 444 | | |
469 | 445 | | |
470 | 446 | | |
471 | | - | |
| 447 | + | |
472 | 448 | | |
473 | 449 | | |
474 | 450 | | |
475 | | - | |
476 | | - | |
| 451 | + | |
477 | 452 | | |
478 | 453 | | |
479 | 454 | | |
| |||
956 | 931 | | |
957 | 932 | | |
958 | 933 | | |
959 | | - | |
960 | | - | |
| 934 | + | |
961 | 935 | | |
962 | 936 | | |
963 | 937 | | |
964 | 938 | | |
965 | | - | |
966 | | - | |
967 | | - | |
968 | | - | |
969 | | - | |
970 | | - | |
971 | | - | |
972 | | - | |
973 | | - | |
974 | | - | |
975 | | - | |
976 | | - | |
977 | | - | |
978 | | - | |
979 | | - | |
980 | | - | |
981 | | - | |
982 | | - | |
983 | | - | |
984 | | - | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
985 | 944 | | |
986 | 945 | | |
987 | 946 | | |
| |||
1806 | 1765 | | |
1807 | 1766 | | |
1808 | 1767 | | |
1809 | | - | |
1810 | | - | |
1811 | | - | |
1812 | | - | |
1813 | | - | |
1814 | | - | |
1815 | | - | |
1816 | | - | |
1817 | | - | |
1818 | | - | |
1819 | | - | |
1820 | | - | |
1821 | | - | |
1822 | | - | |
1823 | | - | |
| 1768 | + | |
1824 | 1769 | | |
1825 | 1770 | | |
1826 | 1771 | | |
| |||
1889 | 1834 | | |
1890 | 1835 | | |
1891 | 1836 | | |
1892 | | - | |
| 1837 | + | |
| 1838 | + | |
| 1839 | + | |
1893 | 1840 | | |
1894 | 1841 | | |
1895 | 1842 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
| 140 | + | |
| 141 | + | |
140 | 142 | | |
141 | 143 | | |
142 | 144 | | |
| |||
222 | 224 | | |
223 | 225 | | |
224 | 226 | | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
225 | 230 | | |
226 | 231 | | |
227 | 232 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
581 | 581 | | |
582 | 582 | | |
583 | 583 | | |
584 | | - | |
| 584 | + | |
585 | 585 | | |
586 | 586 | | |
587 | 587 | | |
588 | 588 | | |
589 | 589 | | |
590 | 590 | | |
591 | 591 | | |
592 | | - | |
| 592 | + | |
593 | 593 | | |
594 | 594 | | |
595 | 595 | | |
| |||
653 | 653 | | |
654 | 654 | | |
655 | 655 | | |
656 | | - | |
| 656 | + | |
| 657 | + | |
657 | 658 | | |
658 | 659 | | |
659 | 660 | | |
| |||
1162 | 1163 | | |
1163 | 1164 | | |
1164 | 1165 | | |
1165 | | - | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
1166 | 1170 | | |
1167 | 1171 | | |
1168 | 1172 | | |
| |||
1263 | 1267 | | |
1264 | 1268 | | |
1265 | 1269 | | |
1266 | | - | |
1267 | | - | |
1268 | | - | |
| 1270 | + | |
1269 | 1271 | | |
1270 | 1272 | | |
1271 | | - | |
1272 | | - | |
1273 | | - | |
1274 | | - | |
1275 | | - | |
1276 | | - | |
1277 | | - | |
1278 | | - | |
1279 | | - | |
1280 | | - | |
1281 | | - | |
1282 | | - | |
1283 | | - | |
1284 | | - | |
1285 | | - | |
1286 | | - | |
1287 | | - | |
1288 | | - | |
1289 | | - | |
1290 | | - | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
1291 | 1294 | | |
1292 | 1295 | | |
1293 | 1296 | | |
| |||
1416 | 1419 | | |
1417 | 1420 | | |
1418 | 1421 | | |
| 1422 | + | |
1419 | 1423 | | |
1420 | 1424 | | |
1421 | 1425 | | |
| |||
1529 | 1533 | | |
1530 | 1534 | | |
1531 | 1535 | | |
| 1536 | + | |
1532 | 1537 | | |
1533 | 1538 | | |
1534 | 1539 | | |
| |||
1600 | 1605 | | |
1601 | 1606 | | |
1602 | 1607 | | |
| 1608 | + | |
1603 | 1609 | | |
1604 | 1610 | | |
1605 | 1611 | | |
| |||
0 commit comments