lnd/lnwire
Joost Jager a347237e7a
routing: use unified policy for path finding
In this commit we change path finding to no longer consider all channels
between a pair of nodes individually. We assume that nodes forward
non-strict and when we attempt a connection between two nodes, we don't
want to try multiple channels because their policies may not be identical.
Having distinct policies for channel to the same peer is against the
recommendation in the spec, but it happens in the wild. Especially since
we recently changed the default cltv delta value.

What this commit introduces is a unified policy. This can be looked upon
as the greatest common denominator of all policies and should maximize
the probability of getting the payment forwarded.
2019-10-25 11:22:28 +02:00
..
accept_channel.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
announcement_signatures.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
channel_announcement.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
channel_id_test.go lnwire: fix minor typo in tests 2017-09-18 19:46:16 +02:00
channel_id.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
channel_reestablish.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
channel_update.go lnwire+multi: define HasMaxHtlc helper on msgFlags 2019-01-22 08:42:30 +01:00
closing_signed.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
commit_sig.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
error.go lnwire: rename ErrorCode -> FundingError 2019-09-20 10:55:21 +02:00
features_test.go multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
features.go lnwire/features: static_remote_key bits, 10/11 -> 12/13 2019-10-02 03:33:22 -07:00
funding_created.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
funding_locked.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
funding_signed.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
gossip_timestamp_range.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
init_message.go lnwire: include init prefix in MaxPayloadLength calculation 2019-02-07 13:19:54 -05:00
lnwire_test.go multi: remove dead code 2019-09-10 17:21:59 +02:00
lnwire.go lnwire: remove ErrorCode encoding/decoding 2019-09-20 10:55:20 +02:00
message.go lnwire: update tests and message code definitions for new gossip query msgs 2018-05-31 16:30:52 -07:00
msat_test.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
msat.go routing: use unified policy for path finding 2019-10-25 11:22:28 +02:00
netaddress_test.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
netaddress.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
node_announcement_test.go lnwire: add test cases for node alias validation 2019-01-07 12:53:40 -08:00
node_announcement.go multi: remove dead code 2019-09-10 17:21:59 +02:00
onion_error_test.go lnwire+htlcswitch: report height for invalid payment details failure 2019-09-16 10:10:20 +02:00
onion_error.go multi: fix canceled spelling 2019-10-03 17:27:36 +02:00
open_channel.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
ping.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
pong.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
query_channel_range.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
query_short_chan_ids.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
reply_channel_range.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
reply_short_chan_ids_end.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
revoke_and_ack.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
short_channel_id_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
short_channel_id.go lnwire: remove pointer receiver from ToUint64 for ShortChannelID 2018-04-06 14:52:02 -07:00
shutdown.go lnwire: export ReadElements and WriteElements 2018-12-24 19:58:06 -06:00
signature_test.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
signature.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
update_add_htlc.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
update_fail_htlc.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
update_fail_malformed_htlc.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
update_fee.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00
update_fulfill_htlc.go peer+lnwire: add LinkUpdater iface and impl on relevant msgs 2019-09-25 12:00:59 -07:00

lnwire

Build Status MIT licensed GoDoc

The lnwire package implements the Lightning Network wire protocol.

This package has intentionally been designed so it can be used as a standalone package for any projects needing to interface with lightning peers at the wire protocol level.

Installation and Updating

$ go get -u github.com/lightningnetwork/lnd/lnwire