diff --git a/cmd/lncli/commands.go b/cmd/lncli/commands.go index cc8efc5f0..5190cd69f 100644 --- a/cmd/lncli/commands.go +++ b/cmd/lncli/commands.go @@ -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 { diff --git a/docs/release-notes/release-notes-0.18.0.md b/docs/release-notes/release-notes-0.18.0.md index 6ea9bcd03..ed485af77 100644 --- a/docs/release-notes/release-notes-0.18.0.md +++ b/docs/release-notes/release-notes-0.18.0.md @@ -191,6 +191,9 @@ [Deprecate bumpclosefee for bumpforceclosefee and add `max_fee_rate` option to `closechannel` cmd](https://github.com/lightningnetwork/lnd/pull/8350). +* The [`closeallchannels` command now asks for confirmation before closing + all channels](https://github.com/lightningnetwork/lnd/pull/8526). + # Improvements ## Functional Updates ### Tlv