cmd/lncli: add key word argument support for new disconnect cmd

This commit is contained in:
Olaoluwa Osuntokun
2017-05-05 15:54:25 -07:00
parent 4b15310c08
commit ab007bb918
2 changed files with 17 additions and 5 deletions

View File

@@ -254,7 +254,14 @@ var disconnectCommand = cli.Command{
Name: "disconnect", Name: "disconnect",
Usage: "disconnect a remote lnd peer identified by public key", Usage: "disconnect a remote lnd peer identified by public key",
ArgsUsage: "<pubkey>", ArgsUsage: "<pubkey>",
Action: disconnectPeer, Flags: []cli.Flag{
cli.StringFlag{
Name: "node_key",
Usage: "The hex-encoded compressed public key of the peer " +
"to disconnect from",
},
},
Action: disconnectPeer,
} }
func disconnectPeer(ctx *cli.Context) error { func disconnectPeer(ctx *cli.Context) error {
@@ -262,9 +269,14 @@ func disconnectPeer(ctx *cli.Context) error {
client, cleanUp := getClient(ctx) client, cleanUp := getClient(ctx)
defer cleanUp() defer cleanUp()
pubKey := ctx.Args().First() var pubKey string
if pubKey == "" { switch {
return fmt.Errorf("target address expected in format: <pubkey>") case ctx.IsSet("node_key"):
pubKey = ctx.String("node_key")
case ctx.Args().Present():
pubKey = ctx.Args().First()
default:
return fmt.Errorf("must specify target public key")
} }
req := &lnrpc.DisconnectPeerRequest{ req := &lnrpc.DisconnectPeerRequest{

View File

@@ -57,6 +57,7 @@ func main() {
sendManyCommand, sendManyCommand,
sendCoinsCommand, sendCoinsCommand,
connectCommand, connectCommand,
disconnectCommand,
openChannelCommand, openChannelCommand,
closeChannelCommand, closeChannelCommand,
listPeersCommand, listPeersCommand,
@@ -78,7 +79,6 @@ func main() {
debugLevelCommand, debugLevelCommand,
decodePayReqComamnd, decodePayReqComamnd,
listChainTxnsCommand, listChainTxnsCommand,
disconnectCommand,
} }
if err := app.Run(os.Args); err != nil { if err := app.Run(os.Args); err != nil {