diff --git a/routing/notifications.go b/routing/notifications.go index 31cce8e3..04c6b79f 100644 --- a/routing/notifications.go +++ b/routing/notifications.go @@ -18,8 +18,10 @@ import ( // TopologyChanges channel will be sent upon with new updates to the channel // graph in real-time as they're encountered. type TopologyClient struct { - // TopologyChanges is a recieve only channel that new channel graph + // TopologyChanges is a receive only channel that new channel graph // updates will be sent over. + // + // TODO(roasbeef): chan for each update type instead? TopologyChanges <-chan *TopologyChange // Cancel is a function closure that should be executed when the client @@ -225,6 +227,10 @@ type ChannelEdgeUpdate struct { // originally confirmed. ChanID uint64 + // ChanPoint is the outpoint which represents the multi-sig funding + // output for the channel. + ChanPoint wire.OutPoint + // Capacity is the capacity of the newly created channel. Capacity btcutil.Amount @@ -300,6 +306,7 @@ func addToTopologyChange(graph *channeldb.ChannelGraph, update *TopologyChange, edgeUpdate := &ChannelEdgeUpdate{ ChanID: chanID, + ChanPoint: edgeInfo.ChannelPoint, TimeLockDelta: m.TimeLockDelta, Capacity: edgeInfo.Capacity, MinHTLC: btcutil.Amount(m.HtlcMinimumMsat), diff --git a/routing/notifications_test.go b/routing/notifications_test.go index 405b348f..0cb47536 100644 --- a/routing/notifications_test.go +++ b/routing/notifications_test.go @@ -340,7 +340,7 @@ func TestEdgeUpdateNotification(t *testing.T) { // First we'll create the utxo for the channel to be "closed" const chanValue = btcutil.Amount(10000) - fundingTx, _, chanID := randChannelEdge(ctx, chanValue, + fundingTx, chanPoint, chanID := randChannelEdge(ctx, chanValue, startingBlockHeight) // We'll also add a record for the block that included our funding @@ -404,6 +404,10 @@ func TestEdgeUpdateNotification(t *testing.T) { t.Fatalf("channel ID of edge doesn't match: "+ "expected %v, got %v", chanID.ToUint64(), edgeUpdate.ChanID) } + if edgeUpdate.ChanPoint != chanPoint { + t.Fatalf("channel don't match: expected %v, got %v", + chanPoint, edgeUpdate.ChanPoint) + } // TODO(roasbeef): this is a hack, needs to be removed // after commitment fees are dynamic. if edgeUpdate.Capacity != chanValue-5000 {