diff --git a/cli/mpool.go b/cli/mpool.go index b5a68860f..025a2fc3f 100644 --- a/cli/mpool.go +++ b/cli/mpool.go @@ -132,9 +132,11 @@ var MpoolPending = &cli.Command{ }, } +// Deprecated: MpoolClear is now available at `lotus-shed mpool clear` var MpoolClear = &cli.Command{ - Name: "clear", - Usage: "Clear all pending messages from the mpool (USE WITH CARE)", + Name: "clear", + Usage: "Clear all pending messages from the mpool (USE WITH CARE) (DEPRECATED)", + Hidden: true, Flags: []cli.Flag{ &cli.BoolFlag{ Name: "local", @@ -146,6 +148,7 @@ var MpoolClear = &cli.Command{ }, }, Action: func(cctx *cli.Context) error { + fmt.Println("DEPRECATED: This behavior is being moved to `lotus-shed mpool clear`") api, closer, err := GetFullNodeAPI(cctx) if err != nil { return err diff --git a/cmd/lotus-shed/mpool.go b/cmd/lotus-shed/mpool.go index d3660db69..004bd99a6 100644 --- a/cmd/lotus-shed/mpool.go +++ b/cmd/lotus-shed/mpool.go @@ -15,6 +15,7 @@ var mpoolCmd = &cli.Command{ Flags: []cli.Flag{}, Subcommands: []*cli.Command{ minerSelectMsgsCmd, + mpoolClear, }, } @@ -66,3 +67,36 @@ var minerSelectMsgsCmd = &cli.Command{ return nil }, } + +var mpoolClear = &cli.Command{ + Name: "clear", + Usage: "Clear all pending messages from the mpool (USE WITH CARE)", + Flags: []cli.Flag{ + &cli.BoolFlag{ + Name: "local", + Usage: "also clear local messages", + }, + &cli.BoolFlag{ + Name: "really-do-it", + Usage: "must be specified for the action to take effect", + }, + }, + Action: func(cctx *cli.Context) error { + api, closer, err := lcli.GetFullNodeAPI(cctx) + if err != nil { + return err + } + defer closer() + + really := cctx.Bool("really-do-it") + if !really { + //nolint:golint + return fmt.Errorf("--really-do-it must be specified for this action to have an effect; you have been warned") + } + + local := cctx.Bool("local") + + ctx := lcli.ReqContext(cctx) + return api.MpoolClear(ctx, local) + }, +}