Skip to content

Commit 08794b5

Browse files
Mateusz FaltynMateusz Faltyn
Mateusz Faltyn
authored and
Mateusz Faltyn
committed
Document better optional features
1 parent 8e5cf75 commit 08794b5

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

lightning/src/ln/features.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,35 @@
1818
//! the term "supports" is used in reference to a particular set of [`Features`]. That is, a node
1919
//! supports a feature if it advertises the feature (as either required or optional) to its peers.
2020
//! And the implementation can interpret a feature if the feature is known to it.
21+
//!
22+
//! The following features are currently required in the LDK:
23+
//! - `VariableLengthOnion` - requires/supports variable-length routing onion payloads
24+
//! (see [BOLT-4](https://github.com/lightning/bolts/blob/master/04-onion-routing.md) for more information).
25+
//! - `StaticRemoteKey` - requires/supports static key for remote output
26+
//! (see [BOLT-3](https://github.com/lightning/bolts/blob/master/03-transactions.md) for more information).
27+
//!
28+
//! The following features are currently supported in the LDK:
29+
//! - `DataLossProtect` - requires/supports that a node, which has somehow fallen behind (e.g. has been restored from old backup),
30+
//! can detect that it has fallen behind
31+
//! (see [BOLT-2](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md) for more information).
32+
//! - `InitialRoutingSync` - requires/supports that the sending node needs a complete routing information dump
33+
//! (see [BOLT-7](https://github.com/lightning/bolts/blob/master/07-routing-gossip.md#initial-sync) for more information).
34+
//! - `UpfrontShutdownScript` - commits to a shutdown scriptpubkey when opening a channel
35+
//! (see [BOLT-2](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#the-open_channel-message) for more information).
36+
//! - `GossipQueries` - requires/supports more sophisticated gossip control
37+
//! (see [BOLT-7](https://github.com/lightning/bolts/blob/master/07-routing-gossip.md) for more information).
38+
//! - `PaymentSecret` - requires/supports that a node supports payment_secret field
39+
//! (see [BOLT-4](https://github.com/lightning/bolts/blob/master/04-onion-routing.md) for more information).
40+
//! - `BasicMPP` - requires/supports that a node can receive basic multi-part payments
41+
//! (see [BOLT-4](https://github.com/lightning/bolts/blob/master/04-onion-routing.md#basic-multi-part-payments) for more information).
42+
//! - `ShutdownAnySegwit` - requires/supports that future segwit versions are allowed in `shutdown`
43+
//! (see [BOLT-2](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#closing-initiation-shutdown) for more information).
44+
//! - `ChannelType` - node supports the channel_type field in open/accept
45+
//! (see [BOLT-2](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#closing-initiation-shutdown) for more information).
46+
//! - `SCIDPrivacy` - supply channel aliases for routing
47+
//! (see [BOLT-2](https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#closing-initiation-shutdown) for more information).
48+
//! - `Keysend` - send funds to a node without an invoice
49+
//! (see [BOLT-11](https://github.com/lightning/bolts/blob/master/11-payment-encoding.md) for more information).
2150
//!
2251
//! [BOLT #9]: https://github.com/lightning/bolts/blob/master/09-features.md
2352
//! [messages]: crate::ln::msgs

0 commit comments

Comments
 (0)