diff --git a/cmd/abigen/main.go b/cmd/abigen/main.go index f37f5a3c4c..0e5ece422a 100644 --- a/cmd/abigen/main.go +++ b/cmd/abigen/main.go @@ -98,8 +98,12 @@ func abigen(c *cli.Context) error { if c.String(pkgFlag.Name) == "" { utils.Fatalf("No destination package specified (--pkg)") } - if c.String(abiFlag.Name) == "" { - utils.Fatalf("No contract ABI source specified (--abi)") + if c.String(abiFlag.Name) == "" && c.String(jsonFlag.Name) == "" { + utils.Fatalf("Either contract ABI source (--abi) or combined-json (--combined-json) are required") + } + + if c.String(abiFlag.Name) != "" && c.String(jsonFlag.Name) != "" { + utils.Fatalf("contract ABI source (--abi) and combined-json (--combined-json) are mutually-exclusive") } var lang bind.Lang switch c.String(langFlag.Name) {