lnrpc/watchtowerrpc: add WatchtowerBackend configs
This commit is contained in:
parent
72e4fbff97
commit
0db39d4fe6
13
lnrpc/watchtowerrpc/config_active.go
Normal file
13
lnrpc/watchtowerrpc/config_active.go
Normal file
@ -0,0 +1,13 @@
|
||||
// +build watchtowerrpc
|
||||
|
||||
package watchtowerrpc
|
||||
|
||||
// Config is the primary configuration struct for the watchtower RPC server. It
|
||||
// contains all items required for the RPC server to carry out its duties. The
|
||||
// fields with struct tags are meant to parsed as normal configuration options,
|
||||
// while if able to be populated, the latter fields MUST also be specified.
|
||||
type Config struct {
|
||||
// Tower is the active watchtower which serves as the primary source for
|
||||
// information presented via RPC.
|
||||
Tower WatchtowerBackend
|
||||
}
|
6
lnrpc/watchtowerrpc/config_default.go
Normal file
6
lnrpc/watchtowerrpc/config_default.go
Normal file
@ -0,0 +1,6 @@
|
||||
// +build !watchtowerrpc
|
||||
|
||||
package watchtowerrpc
|
||||
|
||||
// Config is empty for non-watchtowerrpc builds.
|
||||
type Config struct{}
|
23
lnrpc/watchtowerrpc/interface.go
Normal file
23
lnrpc/watchtowerrpc/interface.go
Normal file
@ -0,0 +1,23 @@
|
||||
package watchtowerrpc
|
||||
|
||||
import (
|
||||
"net"
|
||||
|
||||
"github.com/btcsuite/btcd/btcec"
|
||||
)
|
||||
|
||||
// WatchtowerBackend abstracts access to the watchtower information that is
|
||||
// served via RPC connections.
|
||||
type WatchtowerBackend interface {
|
||||
// PubKey returns the public key for the watchtower used to
|
||||
// authentication and encrypt traffic with clients.
|
||||
PubKey() *btcec.PublicKey
|
||||
|
||||
// ListeningAddrs returns the listening addresses where the watchtower
|
||||
// server can accept client connections.
|
||||
ListeningAddrs() []net.Addr
|
||||
|
||||
// ExternalIPs returns the addresses where the watchtower can be reached
|
||||
// by clients externally.
|
||||
ExternalIPs() []net.Addr
|
||||
}
|
Loading…
Reference in New Issue
Block a user