From f95811e65bcc674ae32c19c043b29226a56a6a5f Mon Sep 17 00:00:00 2001 From: Philip Schlump Date: Sat, 6 Oct 2018 08:27:12 -0600 Subject: [PATCH] cmd/abigen: support for --type flag with piped data (#17648) --- cmd/abigen/main.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/cmd/abigen/main.go b/cmd/abigen/main.go index 3ac37ba7ad..d19164b18d 100644 --- a/cmd/abigen/main.go +++ b/cmd/abigen/main.go @@ -75,7 +75,7 @@ func main() { bins []string types []string ) - if *solFlag != "" || *abiFlag == "-" { + if *solFlag != "" || (*abiFlag == "-" && *pkgFlag == "") { // Generate the list of types to exclude from binding exclude := make(map[string]bool) for _, kind := range strings.Split(*excFlag, ",") { @@ -111,7 +111,13 @@ func main() { } } else { // Otherwise load up the ABI, optional bytecode and type name from the parameters - abi, err := ioutil.ReadFile(*abiFlag) + var abi []byte + var err error + if *abiFlag == "-" { + abi, err = ioutil.ReadAll(os.Stdin) + } else { + abi, err = ioutil.ReadFile(*abiFlag) + } if err != nil { fmt.Printf("Failed to read input ABI: %v\n", err) os.Exit(-1) @@ -155,6 +161,5 @@ func contractsFromStdin() (map[string]*compiler.Contract, error) { if err != nil { return nil, err } - return compiler.ParseCombinedJSON(bytes, "", "", "", "") }