From 42305d820f947e5f5d63e5c17f1b52650e6a948e Mon Sep 17 00:00:00 2001 From: Inphi Date: Wed, 25 Sep 2024 21:08:13 -0400 Subject: [PATCH] cannon: Fix custom --help for multicannon subcommands (#12112) * multicannon: Display custom --help for missing flags * remove comment --- cannon/multicannon/load_elf.go | 12 +++++++++--- cannon/multicannon/run.go | 2 +- cannon/multicannon/witness.go | 10 ++++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/cannon/multicannon/load_elf.go b/cannon/multicannon/load_elf.go index cbe1fda46303..b34b202b220a 100644 --- a/cannon/multicannon/load_elf.go +++ b/cannon/multicannon/load_elf.go @@ -4,17 +4,17 @@ import ( "fmt" "os" - "github.com/ethereum-optimism/optimism/cannon/cmd" "github.com/ethereum-optimism/optimism/cannon/mipsevm/versions" "github.com/urfave/cli/v2" ) func LoadELF(ctx *cli.Context) error { - if len(os.Args) == 2 && os.Args[2] == "--help" { + if len(os.Args) == 3 && os.Args[2] == "--help" { if err := list(); err != nil { return err } fmt.Println("use `--type --help` to get more detailed help") + return nil } typ, err := parseFlag(os.Args[1:], "--type") @@ -28,4 +28,10 @@ func LoadELF(ctx *cli.Context) error { return ExecuteCannon(ctx.Context, os.Args[1:], ver) } -var LoadELFCommand = cmd.CreateLoadELFCommand(LoadELF) +var LoadELFCommand = &cli.Command{ + Name: "load-elf", + Usage: "Load ELF file into Cannon state", + Description: "Load ELF file into Cannon state", + Action: LoadELF, + SkipFlagParsing: true, +} diff --git a/cannon/multicannon/run.go b/cannon/multicannon/run.go index 532cf317fb21..7139436899ab 100644 --- a/cannon/multicannon/run.go +++ b/cannon/multicannon/run.go @@ -16,6 +16,7 @@ func Run(ctx *cli.Context) error { return err } fmt.Println("use `--input --help` to get more detailed help") + return nil } inputPath, err := parsePathFlag(os.Args[1:], "--input") @@ -29,7 +30,6 @@ func Run(ctx *cli.Context) error { return ExecuteCannon(ctx.Context, os.Args[1:], version) } -// var RunCommand = cmd.CreateRunCommand(Run) var RunCommand = &cli.Command{ Name: "run", Usage: "Run VM step(s) and generate proof data to replicate onchain.", diff --git a/cannon/multicannon/witness.go b/cannon/multicannon/witness.go index 077d0d3f1aed..2c72ebecf56a 100644 --- a/cannon/multicannon/witness.go +++ b/cannon/multicannon/witness.go @@ -6,7 +6,6 @@ import ( "github.com/urfave/cli/v2" - "github.com/ethereum-optimism/optimism/cannon/cmd" "github.com/ethereum-optimism/optimism/cannon/mipsevm/versions" ) @@ -16,6 +15,7 @@ func Witness(ctx *cli.Context) error { return err } fmt.Println("use `--input --help` to get more detailed help") + return nil } inputPath, err := parsePathFlag(os.Args[1:], "--input") @@ -29,4 +29,10 @@ func Witness(ctx *cli.Context) error { return ExecuteCannon(ctx.Context, os.Args[1:], version) } -var WitnessCommand = cmd.CreateWitnessCommand(Witness) +var WitnessCommand = &cli.Command{ + Name: "witness", + Usage: "Convert a Cannon JSON state into a binary witness", + Description: "Convert a Cannon JSON state into a binary witness. The hash of the witness is written to stdout", + Action: Witness, + SkipFlagParsing: true, +}