From 963b37b52e1ac3314b7a629e4d1f8b85cc89d04b Mon Sep 17 00:00:00 2001 From: Daniel Liu Date: Tue, 21 Jan 2025 11:09:05 +0800 Subject: [PATCH] cmd/abigen: require either '--abi' or '--combined-json' (#31045) --- cmd/abigen/main.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cmd/abigen/main.go b/cmd/abigen/main.go index 9cdc47d61ff19..43cfdab6ab7ce 100644 --- a/cmd/abigen/main.go +++ b/cmd/abigen/main.go @@ -94,10 +94,20 @@ func init() { func abigen(c *cli.Context) error { utils.CheckExclusive(c, abiFlag, jsonFlag) // Only one source can be selected. + if c.String(pkgFlag.Name) == "" { utils.Fatalf("No destination package specified (--pkg)") } - lang := bind.LangGo + if c.String(abiFlag.Name) == "" && c.String(jsonFlag.Name) == "" { + utils.Fatalf("Either contract ABI source (--abi) or combined-json (--combined-json) are required") + } + var lang bind.Lang + switch c.String(langFlag.Name) { + case "go": + lang = bind.LangGo + default: + utils.Fatalf("Unsupported destination language \"%s\" (--lang)", c.String(langFlag.Name)) + } // If the entire solidity code was specified, build and bind based on that var ( abis []string