dcf76a59b2
This commit moves the generic interface for Lightning Network peers so that it can be imported directly into the switch and gossiper. Eventually, the majority of the peer logic would be moved into this package for testing and modularization.
27 lines
821 B
Go
27 lines
821 B
Go
package lnpeer
|
|
|
|
import (
|
|
"github.com/lightningnetwork/lnd/lnwire"
|
|
"github.com/roasbeef/btcd/btcec"
|
|
"github.com/roasbeef/btcd/wire"
|
|
)
|
|
|
|
// Peer is an interface which represents the remote lightning node inside our
|
|
// system.
|
|
type Peer interface {
|
|
// SendMessage sends a variadic number of message to remote peer. The
|
|
// first argument denotes if the method should block until the message
|
|
// has been sent to the remote peer.
|
|
SendMessage(sync bool, msg ...lnwire.Message) error
|
|
|
|
// WipeChannel removes the channel uniquely identified by its channel
|
|
// point from all indexes associated with the peer.
|
|
WipeChannel(*wire.OutPoint) error
|
|
|
|
// PubKey returns the serialized public key of the remote peer.
|
|
PubKey() [33]byte
|
|
|
|
// IdentityKey returns the public key of the remote peer.
|
|
IdentityKey() *btcec.PublicKey
|
|
}
|