lnd.xprv/routing
Johan T. Halseth 70202be580
channeldb: make database logic MPP compatible
This commit redefines how the control tower handles shard and payment
level settles and failures. We now consider the payment in flight as
long it has active shards, or it has no active shards but has not
reached a terminal condition (settle of one of the shards, or a payment
level failure has been encountered).

We also make it possible to settle/fail shards regardless of the payment
level status (since we must allow late shards recording their status
even though we have already settled/failed the payment).

Finally, we make it possible to Fail the payment when it is already
failed. This is to allow multiple concurrent shards that reach terminal
errors to mark the payment failed, without havinng to synchronize.
2020-04-02 19:29:14 +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 routing/route: define route.ReceiverAmt() method 2020-04-02 10:24:34 +02: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 routing: add FetchPayment method to ControlTower 2020-04-02 10:24:34 +02:00
errors.go routing/payment_lifecycle: return recorded errors 2020-04-02 10:24:35 +02:00
graph.go routing: convert to use new kvdb abstraction 2020-03-18 19:34:58 -07: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: convert to use new kvdb abstraction 2020-03-18 19:34:58 -07: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_state_test.go routing: stricter mission control state failure updates 2020-03-28 07:49:23 +01:00
missioncontrol_state.go routing: stricter mission control state failure updates 2020-03-28 07:49:23 +01:00
missioncontrol_store_test.go routing: convert to use new kvdb abstraction 2020-03-18 19:34:58 -07:00
missioncontrol_store.go routing: convert to use new kvdb abstraction 2020-03-18 19:34:58 -07:00
missioncontrol_test.go routing: convert to use new kvdb abstraction 2020-03-18 19:34:58 -07:00
missioncontrol.go Merge pull request #4113 from joostjager/mc-failure-overwrite 2020-03-28 11:10:26 +01:00
mock_graph_test.go routing/test: test probability extrapolation 2020-02-11 14:19:13 +01:00
mock_test.go channeldb: make database logic MPP compatible 2020-04-02 19:29:14 +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 routerrpc: update final cltv delta default 2020-01-14 21:03:24 +01:00
pathfind.go routing: log amount for probability 2020-03-24 19:02:38 +01:00
payment_lifecycle.go routing/payment_lifecycle: return recorded errors 2020-04-02 10:24:35 +02:00
payment_session_source.go routing/payment_session: remove prebuilt payment session 2020-04-02 10:24:35 +02:00
payment_session_test.go routing/payment_session: make RequestRoute take max amt, fee limit and 2020-04-02 10:24:33 +02:00
payment_session.go routing/payment_session: remove prebuilt payment session 2020-04-02 10:24:35 +02: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/payment_lifecycle: return recorded errors 2020-04-02 10:24:35 +02:00
router.go routing/payment_session: remove prebuilt payment session 2020-04-02 10:24:35 +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: 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