[][src]Module lightning::ln::channelmanager

The top-level channel management and payment tracking stuff lives here.

The ChannelManager is the main chunk of logic implementing the lightning protocol and is responsible for tracking which channels are open, HTLCs are in flight and reestablishing those upon reconnect to the relevant peer(s).

It does not manage routing logic (see ln::router for that) nor does it manage constructing on-chain transactions (it only monitors the chain to watch for any force-closes that might imply it needs to fail HTLCs/payments/channels it manages).

Structs

ChannelDetails

Details of a channel, as returned by ChannelManager::list_channels and ChannelManager::list_usable_channels

ChannelManager

Manager which keeps track of a number of channels and sends messages to the appropriate channel, also tracking HTLC preimages and forwarding onion packets appropriately.

ChannelManagerReadArgs

Arguments for the creation of a ChannelManager that are not deserialized.

PaymentHash

payment_hash type, use to cross-lock hop

PaymentPreimage

payment_preimage type, use to route payment between hop