lnd.xprv/routing
carla 102f9b003f
htlcswitch: add ClearTextError interface
This commit adds a ClearTextError interface
which is implemented by non-opaque errors that
we know the underlying wire failure message for.
This interface is implemented by ForwardingErrors,
because we can fully decrypt the onion blob to
obtain the underlying failure reason. This interface
will also be implemented by errors which originate
at our node in following commits, because we know
the failure reason when we fail the htlc.

The lnwire interface is un-embedded in the
ForwardingError struct in favour of implementing
this interface. This change is made to protect
against accidental passing of a ForwardingError
to the wire, where the embedded FailureMessage
interface will present as wire failure but
will not serialize properly.
2020-01-14 15:07:41 +02:00
..
chainview routing/chainview: check GetCFilter error 2019-10-15 10:31:25 +02:00
localchans routing+lnrpc+lncli: allow setting min htlc policy 2019-12-11 00:17:08 +01:00
route tlv+record+routing: add payload size calculation 2019-12-20 11:00:01 +01:00
testdata routing: fix max route length test 2019-12-20 11:00:03 +01:00
ann_validation.go routing: skip max htlc validation when capacity is 0 2019-04-18 21:57:38 -07:00
conf_experimental.go routing/conf: add experimental assume valid conf 2018-09-03 20:15:18 -07:00
conf.go routing/conf: add experimental assume valid conf 2018-09-03 20:15:18 -07:00
control_tower_test.go channeldb+routing: expose HTLCs in payment subscriptions 2019-11-19 20:43:38 -08:00
control_tower.go channeldb+routing: expose HTLCs in payment subscriptions 2019-11-19 20:43:38 -08:00
errors.go routing: use simple errors for path finding 2019-11-27 15:21:08 +01:00
graph.go routing: rewrite package to conform to BOLT07 and factor in fees+timelocks 2016-12-27 16:44:22 -08:00
heap_test.go routing: optimize path finding structures 2019-10-24 21:38:07 -03:00
heap.go routing: limit routing info size during pathfinding 2019-12-20 11:00:05 +01:00
log.go routing: define subsystem constant 2019-12-11 00:17:04 +01:00
missioncontrol_store_test.go htlcswitch+invoices: fail mpp timeouts with FailMPPTimeout 2019-12-20 13:02:02 +02:00
missioncontrol_store.go routing: persist mission control data 2019-07-31 08:44:00 +02:00
missioncontrol_test.go routing: track amt ranges in mc 2019-11-22 11:17:28 +01:00
missioncontrol.go routing: track amt ranges in mc 2019-11-22 11:17:28 +01:00
mock_test.go routing: process successes in mission control 2019-08-23 09:15:41 +02:00
nodepair.go routing: extended DirectedNodePair functionality 2019-08-13 18:45:06 +02:00
notifications_test.go multi: remove LocalFeatures and GlobalFeatures 2019-11-08 05:32:00 -08:00
notifications.go routing: clean up locking on topology change 2020-01-02 18:03:48 +01:00
pathfind_test.go routing/pathfind_test: use ctx in recent tests 2020-01-09 13:53:45 -08:00
pathfind.go routing/pathfind: ignore unknown required features 2020-01-08 12:25:00 -08:00
payment_lifecycle.go routing: limit routing info size during pathfinding 2019-12-20 11:00:05 +01:00
payment_session_source.go routing: query bandwidth hints before each payment attempt 2019-08-17 10:24:07 +02:00
payment_session_test.go routing: use absolute final expiry in pathfinding 2019-12-20 11:00:00 +01:00
payment_session.go routing: use absolute final expiry in pathfinding 2019-12-20 11:00:00 +01:00
probability_estimator_test.go routing: track amt ranges in mc 2019-11-22 11:17:28 +01:00
probability_estimator.go routing: track amt ranges in mc 2019-11-22 11:17:28 +01:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
result_interpretation_test.go Merge pull request #3863 from joostjager/fix-result-interpretation 2019-12-20 14:42:19 +01:00
result_interpretation.go Merge pull request #3863 from joostjager/fix-result-interpretation 2019-12-20 14:42:19 +01:00
router_test.go htlcswitch: add ClearTextError interface 2020-01-14 15:07:41 +02:00
router.go htlcswitch: add ClearTextError interface 2020-01-14 15:07:41 +02:00
stats.go routing/router: log aggregate graph processing stats 2019-06-13 18:18:30 -07:00
unified_policies_test.go routing: use unified policy for path finding 2019-10-25 11:22:28 +02:00
unified_policies.go routing: use unified policy for build route 2019-10-29 19:17:58 +01:00
validation_barrier_test.go routing/validation_barrier_test: test semaphore and quit 2018-05-08 16:32:08 -07:00
validation_barrier.go multi: move Route to sub-pkg routing/route 2019-04-29 14:52:33 +02:00

routing

Build Status MIT licensed GoDoc

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