lncli: add querymc command
Adds querymc command to lncli to dump mission control state.
This commit is contained in:
parent
f7982f0f4c
commit
9b71d90a6e
59
cmd/lncli/cmd_query_mission_control.go
Normal file
59
cmd/lncli/cmd_query_mission_control.go
Normal file
@ -0,0 +1,59 @@
|
||||
// +build routerrpc
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/hex"
|
||||
|
||||
"github.com/lightningnetwork/lnd/lnrpc/routerrpc"
|
||||
|
||||
"github.com/urfave/cli"
|
||||
)
|
||||
|
||||
var queryMissionControlCommand = cli.Command{
|
||||
Name: "querymc",
|
||||
Category: "Payments",
|
||||
Action: actionDecorator(queryMissionControl),
|
||||
}
|
||||
|
||||
func queryMissionControl(ctx *cli.Context) error {
|
||||
conn := getClientConn(ctx, false)
|
||||
defer conn.Close()
|
||||
|
||||
client := routerrpc.NewRouterClient(conn)
|
||||
|
||||
req := &routerrpc.QueryMissionControlRequest{}
|
||||
rpcCtx := context.Background()
|
||||
snapshot, err := client.QueryMissionControl(rpcCtx, req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
type displayNodeHistory struct {
|
||||
Pubkey string
|
||||
LastFailTime int64
|
||||
OtherChanSuccessProb float32
|
||||
Channels []*routerrpc.ChannelHistory
|
||||
}
|
||||
|
||||
displayResp := struct {
|
||||
Nodes []displayNodeHistory
|
||||
}{}
|
||||
|
||||
for _, n := range snapshot.Nodes {
|
||||
displayResp.Nodes = append(
|
||||
displayResp.Nodes,
|
||||
displayNodeHistory{
|
||||
Pubkey: hex.EncodeToString(n.Pubkey),
|
||||
LastFailTime: n.LastFailTime,
|
||||
OtherChanSuccessProb: n.OtherChanSuccessProb,
|
||||
Channels: n.Channels,
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
printJSON(displayResp)
|
||||
|
||||
return nil
|
||||
}
|
@ -303,6 +303,7 @@ func main() {
|
||||
// Add any extra autopilot commands determined by build flags.
|
||||
app.Commands = append(app.Commands, autopilotCommands()...)
|
||||
app.Commands = append(app.Commands, invoicesCommands()...)
|
||||
app.Commands = append(app.Commands, routerCommands()...)
|
||||
|
||||
if err := app.Run(os.Args); err != nil {
|
||||
fatal(err)
|
||||
|
10
cmd/lncli/routerrpc_active.go
Normal file
10
cmd/lncli/routerrpc_active.go
Normal file
@ -0,0 +1,10 @@
|
||||
// +build routerrpc
|
||||
|
||||
package main
|
||||
|
||||
import "github.com/urfave/cli"
|
||||
|
||||
// routerCommands will return nil for non-routerrpc builds.
|
||||
func routerCommands() []cli.Command {
|
||||
return []cli.Command{queryMissionControlCommand}
|
||||
}
|
10
cmd/lncli/routerrpc_default.go
Normal file
10
cmd/lncli/routerrpc_default.go
Normal file
@ -0,0 +1,10 @@
|
||||
// +build !routerrpc
|
||||
|
||||
package main
|
||||
|
||||
import "github.com/urfave/cli"
|
||||
|
||||
// routerCommands will return nil for non-routerrpc builds.
|
||||
func routerCommands() []cli.Command {
|
||||
return nil
|
||||
}
|
Loading…
Reference in New Issue
Block a user