htlcswitch/link: add ChannelPoint() to retrieve the channel outpoint.

This function will be used in the switch to retrieve the channel point for a link,
allowing the switch to retrieve individual channels from the database.
This commit is contained in:
Valentine Wallace 2018-10-30 02:36:27 -07:00 committed by Valentine Wallace
parent 5405028948
commit f6cffa8f4b
3 changed files with 12 additions and 0 deletions

@ -1,6 +1,7 @@
package htlcswitch package htlcswitch
import ( import (
"github.com/btcsuite/btcd/wire"
"github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/channeldb"
"github.com/lightningnetwork/lnd/lnpeer" "github.com/lightningnetwork/lnd/lnpeer"
"github.com/lightningnetwork/lnd/lntypes" "github.com/lightningnetwork/lnd/lntypes"
@ -58,6 +59,9 @@ type ChannelLink interface {
// possible). // possible).
HandleChannelUpdate(lnwire.Message) HandleChannelUpdate(lnwire.Message)
// ChannelPoint returns the channel outpoint for the channel link.
ChannelPoint() *wire.OutPoint
// ChanID returns the channel ID for the channel link. The channel ID // ChanID returns the channel ID for the channel link. The channel ID
// is a more compact representation of a channel's full outpoint. // is a more compact representation of a channel's full outpoint.
ChanID() lnwire.ChannelID ChanID() lnwire.ChannelID

@ -9,6 +9,7 @@ import (
"sync/atomic" "sync/atomic"
"time" "time"
"github.com/btcsuite/btcd/wire"
"github.com/davecgh/go-spew/spew" "github.com/davecgh/go-spew/spew"
"github.com/go-errors/errors" "github.com/go-errors/errors"
"github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/channeldb"
@ -1743,6 +1744,12 @@ func (l *channelLink) Peer() lnpeer.Peer {
return l.cfg.Peer return l.cfg.Peer
} }
// ChannelPoint returns the channel outpoint for the channel link.
// NOTE: Part of the ChannelLink interface.
func (l *channelLink) ChannelPoint() *wire.OutPoint {
return l.channel.ChannelPoint()
}
// ShortChanID returns the short channel ID for the channel link. The short // ShortChanID returns the short channel ID for the channel link. The short
// channel ID encodes the exact location in the main chain that the original // channel ID encodes the exact location in the main chain that the original
// funding output can be found. // funding output can be found.

@ -673,6 +673,7 @@ func (f *mockChannelLink) ChanID() lnwire.ChannelID { return
func (f *mockChannelLink) ShortChanID() lnwire.ShortChannelID { return f.shortChanID } func (f *mockChannelLink) ShortChanID() lnwire.ShortChannelID { return f.shortChanID }
func (f *mockChannelLink) Bandwidth() lnwire.MilliSatoshi { return 99999999 } func (f *mockChannelLink) Bandwidth() lnwire.MilliSatoshi { return 99999999 }
func (f *mockChannelLink) Peer() lnpeer.Peer { return f.peer } func (f *mockChannelLink) Peer() lnpeer.Peer { return f.peer }
func (f *mockChannelLink) ChannelPoint() *wire.OutPoint { return &wire.OutPoint{} }
func (f *mockChannelLink) Stop() {} func (f *mockChannelLink) Stop() {}
func (f *mockChannelLink) EligibleToForward() bool { return f.eligible } func (f *mockChannelLink) EligibleToForward() bool { return f.eligible }
func (f *mockChannelLink) setLiveShortChanID(sid lnwire.ShortChannelID) { f.shortChanID = sid } func (f *mockChannelLink) setLiveShortChanID(sid lnwire.ShortChannelID) { f.shortChanID = sid }