8f5d78c875
This commit swaps out golang/protobuf/jsonpb for a custom variant that by default prints byte slices as hex, which is more useful for our setting. Some existing wrapper structs are removed as they can now be printed directly with the new jsonpb. !!! NOTE !!! This commit introduces a breaking change to lncli listinvoices since payment hashes and preimages will now be printed in hex instead of base64.
57 lines
1.1 KiB
Go
57 lines
1.1 KiB
Go
// +build watchtowerrpc
|
|
|
|
package main
|
|
|
|
import (
|
|
"context"
|
|
|
|
"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 {
|
|
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(context.Background(), req)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
printRespJSON(resp)
|
|
|
|
return nil
|
|
}
|