clboss/tests/ln
Ken Sedgwick f1b37c5da5
ChannelCreator: prefer spliceable peers within the no-record tier
The track-record pass orders open proposals keepers, no-record,
underperformers.  The no-record tier carries no earnings evidence,
so order it by a capability prior: nodes whose node_announcement
advertises splicing (BOLT 9 option_splice, bits 62/63) come first,
since their channels can later be resized without a close and
reopen.  Keepers and underperformers keep their earnings-based
order, and nothing moves across a tier boundary.

New Ln::feature_bit tests a bit in a BOLT 9 hex bitfield (bit 0 is
the least-significant bit of the last byte), with a unit test.
Spliceability is looked up per candidate via listnodes; an RPC
failure or absent features field counts as not spliceable, so the
lookup cannot block channel creation.  The Track records report
marks spliceable no-record nodes with an (S) suffix.
2026-08-04 11:02:22 -07:00
..
test_amount.cpp *: Silence clang warnings. 2020-11-02 19:02:35 +08:00
test_commandid.cpp Ln/CommandId.cpp: Implement a replacement for numeric command IDs. 2022-11-21 17:18:00 +08:00
test_featurebit.cpp ChannelCreator: prefer spliceable peers within the no-record tier 2026-08-04 11:02:22 -07:00
test_htlcaccepted.cpp *: Use Ln::CommandId for command IDs for received commands and hook events. 2022-11-23 00:36:43 +08:00
test_nodeid.cpp Ln/NodeId.cpp: Convenience type for node IDs. 2020-09-10 12:11:06 +08:00
test_onionerror.cpp Ln/OnionError: shared onion-failure parser; XMoveFunds adopts the hardened version 2026-08-04 11:02:09 -07:00
test_scid.cpp Ln/Scid.cpp: Implementation of SCID. 2020-09-16 07:09:49 +08:00