cmd/lncli: move commands and export
We want to export some of our CLI code to re-use in other projects. But in Golang you cannot import code from a `main` package. So we need to move the actual code into its own package and only have the `func main()` in the `main` package.
This commit is contained in:
43 files changed
+841
-674
No files matched your search
@@ -0,0 +1,56 @@
|
||||
//go:build watchtowerrpc
|
||||
// +build watchtowerrpc
|
||||
|
||||
package commands
|
||||
|
||||
import (
|
||||
"github.com/lightningnetwork/lnd/lnrpc/watchtowerrpc"
|
||||
"github.com/urfave/cli"
|
||||
)
|
||||
|
||||
func watchtowerCommands() []cli.Command {
|
||||
return []cli.Command{
|
||||
{
|
||||
Name: "tower",
|
||||
Usage: "Interact with the watchtower.",
|
||||
Category: "Watchtower",
|
||||
Subcommands: []cli.Command{
|
||||
towerInfoCommand,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func getWatchtowerClient(ctx *cli.Context) (watchtowerrpc.WatchtowerClient, func()) {
|
||||
conn := getClientConn(ctx, false)
|
||||
cleanup := func() {
|
||||
conn.Close()
|
||||
}
|
||||
return watchtowerrpc.NewWatchtowerClient(conn), cleanup
|
||||
}
|
||||
|
||||
var towerInfoCommand = cli.Command{
|
||||
Name: "info",
|
||||
Usage: "Returns basic information related to the active watchtower.",
|
||||
Action: actionDecorator(towerInfo),
|
||||
}
|
||||
|
||||
func towerInfo(ctx *cli.Context) error {
|
||||
ctxc := getContext()
|
||||
if ctx.NArg() != 0 || ctx.NumFlags() > 0 {
|
||||
return cli.ShowCommandHelp(ctx, "info")
|
||||
}
|
||||
|
||||
client, cleanup := getWatchtowerClient(ctx)
|
||||
defer cleanup()
|
||||
|
||||
req := &watchtowerrpc.GetInfoRequest{}
|
||||
resp, err := client.GetInfo(ctxc, req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
printRespJSON(resp)
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in new issue
Block a user