lnd.xprv/routing
Joost Jager 7719bc432f
routing: take Vertex types as path finding source and target nodes
Currently public keys are represented either as a 33-byte array (Vertex) or as a
btcec.PublicKey struct. The latter isn't useable as index into maps and
cannot be used easily in compares. Therefore the 33-byte array
representation is used predominantly throughout the code base.

This commit converts the argument types of source and target nodes for
path finding to Vertex. Path finding executes no crypto operations and
using Vertex simplifies the code.

Additionally, it prepares for the path finding source parameter to be
exposed over rpc in a follow up commit without requiring conversion back
and forth between Vertex and btcec.PublicKey.
2019-03-06 15:31:00 +01:00
..
chainview routing/chainview: new neutrino API 2018-10-16 19:28:29 -07:00
testdata routing: update test edge policy fields to include max htlc + new flags 2019-03-01 08:05:27 -08:00
ann_validation.go lnwire+multi: define HasMaxHtlc helper on msgFlags 2019-01-22 08:42:30 +01: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
errors.go routing: return ErrRejected if found in reject cache 2018-08-23 07:40:40 +02: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: correct recent type change in heap_test.go 2018-02-12 16:44:42 -08:00
heap.go lnrpc+routing: fix issues with missing data in unmarshallRoute 2018-10-13 22:59:23 +02:00
log.go multi: init subsystem loggers via build pkg 2018-10-05 13:04:45 +09:00
missioncontrol.go routing: take Vertex types as path finding source and target nodes 2019-03-06 15:31:00 +01:00
notifications_test.go routing/ntfns+rpcserver: include max htlc in topology notifications 2019-02-21 18:39:32 -08:00
notifications.go routing/ntfns+rpcserver: include max htlc in topology notifications 2019-02-21 18:39:32 -08:00
pathfind_test.go routing: take Vertex types as path finding source and target nodes 2019-03-06 15:31:00 +01:00
pathfind.go routing: take Vertex types as path finding source and target nodes 2019-03-06 15:31:00 +01:00
payment_session.go routing: take Vertex types as path finding source and target nodes 2019-03-06 15:31:00 +01:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
router_test.go routing: take Vertex types as path finding source and target nodes 2019-03-06 15:31:00 +01:00
router.go routing: take Vertex types as path finding source and target nodes 2019-03-06 15:31:00 +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 routing/validation_barrier: adds ErrVBarrierShuttingDown 2018-05-08 16:32:08 -07: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