diff --git a/lnpeer/peer.go b/lnpeer/peer.go new file mode 100644 index 00000000..2a9dea0d --- /dev/null +++ b/lnpeer/peer.go @@ -0,0 +1,26 @@ +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 +}