mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-06-30 18:43:42 +02:00
routing: weight findPath more heavily towards fees during edge relaxation
In this commit, we modify the edgeWeight function that’s used within the findPath method to weight fees more heavily than the time lock value at an edge. We do this in order to greedily prefer lower fees during path finding. This is a simple stop gap in place of more complex weighting parameters that will be investigated later. We also modify the edge distance to use an int64 rather than a float. Finally an additional test has been added in order to excessive this new change. Before the commit, the test was failing as we preferred the route with lower total time lock.
This commit is contained in:
@ -390,7 +390,9 @@ func TestBasicGraphPathFinding(t *testing.T) {
|
||||
|
||||
// Additionally, we'll ensure that the amount to forward, and fees
|
||||
// computed for each hop are correct.
|
||||
firstHopFee := computeFee(paymentAmt, route.Hops[1].Channel)
|
||||
firstHopFee := computeFee(
|
||||
paymentAmt, route.Hops[1].Channel.ChannelEdgePolicy,
|
||||
)
|
||||
if route.Hops[0].Fee != firstHopFee {
|
||||
t.Fatalf("first hop fee incorrect: expected %v, got %v",
|
||||
firstHopFee, route.Hops[0].Fee)
|
||||
@ -507,7 +509,9 @@ func TestKShortestPathFinding(t *testing.T) {
|
||||
|
||||
paymentAmt := lnwire.NewMSatFromSatoshis(100)
|
||||
target := aliases["luoji"]
|
||||
paths, err := findPaths(nil, graph, sourceNode, target, paymentAmt)
|
||||
paths, err := findPaths(
|
||||
nil, graph, sourceNode, target, paymentAmt, 100,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("unable to find paths between roasbeef and "+
|
||||
"luo ji: %v", err)
|
||||
|
Reference in New Issue
Block a user