Browse Source

loopd: move lnd services init to config

This allows us to supply custom lnd connections to the daemon.
pull/115/head
Johan T. Halseth 1 year ago
parent
commit
34c2e71f9e
No known key found for this signature in database GPG Key ID: 15BAADA29DA20D26
4 changed files with 16 additions and 11 deletions
  1. +5
    -1
      loopd/daemon.go
  2. +9
    -1
      loopd/start.go
  3. +0
    -7
      loopd/utils.go
  4. +2
    -2
      loopd/view.go

+ 5
- 1
loopd/daemon.go View File

@ -14,6 +14,7 @@ import (
proxy "github.com/grpc-ecosystem/grpc-gateway/runtime"
"github.com/lightninglabs/loop"
"github.com/lightninglabs/loop/lndclient"
"github.com/lightninglabs/loop/looprpc"
"google.golang.org/grpc"
)
@ -25,12 +26,15 @@ type listenerCfg struct {
// restListener returns a listener to use for the REST proxy.
restListener func() (net.Listener, error)
// getLnd returns a grpc connection to an lnd instance.
getLnd func(string, *lndConfig) (*lndclient.GrpcLndServices, error)
}
// daemon runs loopd in daemon mode. It will listen for grpc connections,
// execute commands and pass back swap status information.
func daemon(config *config, lisCfg *listenerCfg) error {
lnd, err := getLnd(config.Network, config.Lnd)
lnd, err := lisCfg.getLnd(config.Network, config.Lnd)
if err != nil {
return err
}

+ 9
- 1
loopd/start.go View File

@ -10,6 +10,7 @@ import (
"github.com/jessevdk/go-flags"
"github.com/lightninglabs/loop"
"github.com/lightninglabs/loop/lndclient"
"github.com/lightningnetwork/lnd/build"
"github.com/lightningnetwork/lnd/lntypes"
)
@ -58,6 +59,13 @@ func newListenerCfg(config *config, rpcCfg RPCConfig) *listenerCfg {
return net.Listen("tcp", config.RESTListen)
},
getLnd: func(network string, cfg *lndConfig) (
*lndclient.GrpcLndServices, error) {
return lndclient.NewLndServices(
cfg.Host, network, cfg.MacaroonDir, cfg.TLSPath,
)
},
}
}
@ -142,7 +150,7 @@ func Start(rpcCfg RPCConfig) error {
}
if parser.Active.Name == "view" {
return view(&config)
return view(&config, lisCfg)
}
return fmt.Errorf("unimplemented command %v", parser.Active.Name)

+ 0
- 7
loopd/utils.go View File

@ -8,13 +8,6 @@ import (
"github.com/lightninglabs/loop/lndclient"
)
// getLnd returns an instance of the lnd services proxy.
func getLnd(network string, cfg *lndConfig) (*lndclient.GrpcLndServices, error) {
return lndclient.NewLndServices(
cfg.Host, network, cfg.MacaroonDir, cfg.TLSPath,
)
}
// getClient returns an instance of the swap client.
func getClient(network, swapServer string, insecure bool, tlsPathServer string,
lnd *lndclient.LndServices) (*loop.Client, func(), error) {

+ 2
- 2
loopd/view.go View File

@ -11,13 +11,13 @@ import (
)
// view prints all swaps currently in the database.
func view(config *config) error {
func view(config *config, lisCfg *listenerCfg) error {
chainParams, err := swap.ChainParamsFromNetwork(config.Network)
if err != nil {
return err
}
lnd, err := getLnd(config.Network, config.Lnd)
lnd, err := lisCfg.getLnd(config.Network, config.Lnd)
if err != nil {
return err
}

Loading…
Cancel
Save