cmd/lncli: add confirmation promt to closeallchannels

To make sure users don't accidentally close all channels, we ask before
running this potentially very destructive command.
This commit is contained in:
Oliver Gugger 2024-03-06 17:35:33 +01:00
parent 5f89a8b832
commit 92ae54d7ae
No known key found for this signature in database
GPG key ID: 8E4256593F177720

View file

@ -994,6 +994,11 @@ var closeAllChannelsCommand = cli.Command{
"sat/vbyte that should be used when crafting " +
"the closing transactions",
},
cli.BoolFlag{
Name: "s, skip_confirmation",
Usage: "Skip the confirmation prompt and close all " +
"channels immediately",
},
},
Action: actionDecorator(closeAllChannels),
}
@ -1012,6 +1017,11 @@ func closeAllChannels(ctx *cli.Context) error {
return err
}
prompt := "Do you really want to close ALL channels? (yes/no): "
if !ctx.Bool("skip_confirmation") && !promptForConfirmation(prompt) {
return errors.New("action aborted by user")
}
listReq := &lnrpc.ListChannelsRequest{}
openChannels, err := client.ListChannels(ctxc, listReq)
if err != nil {