Skip to content

Commit

Permalink
lnpeer: birth of peer package!
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
cfromknecht committed Jun 8, 2018
1 parent 15f812b commit dcf76a5
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions lnpeer/peer.go
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit dcf76a5

Please sign in to comment.