lnd.xprv/routing
Joost Jager 48c0e42c26
channeldb+routing: store all payment htlcs
This commit converts the database structure of a payment so that it can
not just store the last htlc attempt, but all attempts that have been
made. This is a preparation for mpp sending.

In addition to that, we now also persist the fail time of an htlc. In a
later commit, the full failure reason will be added as well.

A key change is made to the control tower interface. Previously the
control tower wasn't aware of individual htlc outcomes. The payment
remained in-flight with the latest attempt recorded, but an outcome was
only set when the payment finished. With this commit, the outcome of
every htlc is expected by the control tower and recorded in the
database.

Co-authored-by: Johan T. Halseth <johanth@gmail.com>
2020-03-09 18:31:33 +01: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 routing/route: fix TestMPPHop comment 2020-01-28 06:43:44 -08: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: store all payment htlcs 2020-03-09 18:31:33 +01:00
control_tower.go channeldb+routing: store all payment htlcs 2020-03-09 18:31:33 +01:00
errors.go routing: remove path finding shortcut 2020-01-15 20:32:45 +01:00
graph.go routing: add graph interface 2020-02-11 13:35:38 +01: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
integrated_routing_context_test.go routing/test: test probability extrapolation 2020-02-11 14:19:13 +01:00
integrated_routing_test.go routing/test: test probability extrapolation 2020-02-11 14:19:13 +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: penalize node-level failures harder 2020-01-21 09:06:42 +01:00
missioncontrol.go routing: penalize node-level failures harder 2020-01-21 09:06:42 +01:00
mock_graph_test.go routing/test: test probability extrapolation 2020-02-11 14:19:13 +01:00
mock_test.go channeldb+routing: store all payment htlcs 2020-03-09 18:31:33 +01: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 routerrpc: update final cltv delta default 2020-01-14 21:03:24 +01:00
pathfind.go fix typo 2020-02-27 15:22:00 +02:00
payment_lifecycle.go channeldb+routing: store all payment htlcs 2020-03-09 18:31:33 +01:00
payment_session_source.go routing: extract route hint conversion 2020-01-14 11:21:29 +01: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 routing: penalize node-level failures harder 2020-01-21 09:06:42 +01:00
result_interpretation.go routing: penalize node-level failures harder 2020-01-21 09:06:42 +01:00
router_test.go routing: add clock to router config 2020-03-09 11:43:44 +01:00
router.go channeldb+routing: store all payment htlcs 2020-03-09 18:31:33 +01: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: add graph interface 2020-02-11 13:35:38 +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