# README
routing
The routing package implements authentication+validation of channel announcements, pruning of the channel graph, path finding within the network, sending outgoing payments into the network and synchronizing new peers to our channel graph state.
Installation and Updating
$ go get -u github.com/lightningnetwork/lnd/routing
# Packages
No description provided by the author
# Functions
DisableLog disables all library log output.
IsError is a helper function which is needed to have ability to check that returned error has specific error code.
New creates a new instance of the ChannelRouter with the specified configuration parameters.
NewValidationBarrier creates a new instance of a validation barrier given the total number of active requests, and a quit channel which will be used to know when to kill an pending, but unfilled jobs.
NewVertex returns a new Vertex given a public key.
UseLogger uses a specified Logger to output package logging info.
# Constants
DefaultFinalCLTVDelta is the default value to be used as the final CLTV delta for a route if one is unspecified.
ErrIgnored is returned when the update have been ignored because this update can't bring us something new, or because a node announcement was given for node not found in any channel.
ErrInsufficientCapacity is returned when a path if found, yet the capacity of one of the channels in the path is insufficient to carry the payment.
ErrMaxHopsExceeded is returned when a candidate path is found, but the length of that path exceeds HopLimit.
ErrNoPathFound is returned when a path to the target destination does not exist in the graph.
ErrNoRouteFound is returned when the router is unable to find a valid route to the target destination after fees and time-lock limitations are factored in.
ErrOutdated is returned when the routing update already have been applied.
ErrPaymentAttemptTimeout is an error that indicates that a payment attempt timed out before we were able to successfully route an HTLC.
ErrTargetNotInNetwork is returned when the target of a path-finding or payment attempt isn't known to be within the current version of the channel graph.
HopLimit is the maximum number hops that is permissible as a route.
# Structs
ChannelEdgeUpdate is an update for a new channel within the ChannelGraph.
ChannelHop is an intermediate hop within the network with a greater multi-hop payment route.
ChannelPolicy holds the parameters that determine the policy we enforce when forwarding payments on a channel.
ChannelRouter is the layer 3 router within the Lightning stack.
ClosedChanSummary is a summary of a channel that was detected as being closed by monitoring the blockchain.
Config defines the configuration for the ChannelRouter.
FeeSchema is the set fee configuration for a Lightning Node on the network.
Hop represents the forwarding details at a particular position within the final route.
LightningPayment describes a payment to be sent through the network to the final destination.
NetworkNodeUpdate is an update for a node within the Lightning Network.
Route represents a path through the channel graph which runs over one or more channels in succession.
TopologyChange represents a new set of modifications to the channel graph.
TopologyClient represents an intent to receive notifications from the channel router regarding changes to the topology of the channel graph.
ValidationBarrier is a barrier used to ensure proper validation order while concurrently validating new announcements for channel edges, and the attributes of channel edges.
# Interfaces
ChannelGraphSource represents the source of information about the topology of the lightning network.
# Type aliases
Vertex is a simple alias for the serialization of a compressed Bitcoin public key.