mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-11-10 06:07:16 +01:00
We add an extra option to the AddLocalAlias method which only controls whether we store a reverse lookup from the alias back to the base scid it corresponds to. The previous flag "gossip" is still maintained, and in a way supercedes the new flag (it will also store the base scid lookup even if the base lookup flag isn't set). The only call that sets this option is the XAddLocalChanAlias RPC endpoint, where we want to make sure that a reverse lookup is stored in the alias manager in order to later expose it via the new RPC method.
52 lines
2.0 KiB
Go
52 lines
2.0 KiB
Go
package funding
|
|
|
|
import (
|
|
"github.com/lightningnetwork/lnd/aliasmgr"
|
|
"github.com/lightningnetwork/lnd/lnpeer"
|
|
"github.com/lightningnetwork/lnd/lnwire"
|
|
)
|
|
|
|
// Controller is an interface with basic funding flow functions.
|
|
// It describes the basic functionality of a funding manager.
|
|
// It should at a minimum process a subset of lnwire messages that
|
|
// are denoted as funding messages.
|
|
type Controller interface {
|
|
// ProcessFundingMsg processes a funding message represented by the
|
|
// lnwire.Message parameter along with the Peer object representing a
|
|
// connection to the counterparty.
|
|
ProcessFundingMsg(lnwire.Message, lnpeer.Peer)
|
|
|
|
// IsPendingChannel returns whether a particular 32-byte identifier
|
|
// represents a pending channel in the Controller implementation.
|
|
IsPendingChannel([32]byte, lnpeer.Peer) bool
|
|
}
|
|
|
|
// aliasHandler is an interface that abstracts the managing of aliases.
|
|
type aliasHandler interface {
|
|
// RequestAlias lets the funding manager request a unique SCID alias to
|
|
// use in the channel_ready message.
|
|
RequestAlias() (lnwire.ShortChannelID, error)
|
|
|
|
// PutPeerAlias lets the funding manager store the received alias SCID
|
|
// in the channel_ready message.
|
|
PutPeerAlias(lnwire.ChannelID, lnwire.ShortChannelID) error
|
|
|
|
// GetPeerAlias lets the funding manager lookup the received alias SCID
|
|
// from the channel_ready message. This is not the same as GetAliases
|
|
// which retrieves OUR aliases for a given channel.
|
|
GetPeerAlias(lnwire.ChannelID) (lnwire.ShortChannelID, error)
|
|
|
|
// AddLocalAlias persists an alias to an underlying alias store.
|
|
AddLocalAlias(lnwire.ShortChannelID, lnwire.ShortChannelID, bool, bool,
|
|
...aliasmgr.AddLocalAliasOption) error
|
|
|
|
// GetAliases returns the set of aliases given the main SCID of a
|
|
// channel. This SCID will be an alias for zero-conf channels and will
|
|
// be the confirmed SCID otherwise.
|
|
GetAliases(lnwire.ShortChannelID) []lnwire.ShortChannelID
|
|
|
|
// DeleteSixConfs removes the passed SCID from one of the underlying
|
|
// alias store's indices.
|
|
DeleteSixConfs(lnwire.ShortChannelID) error
|
|
}
|